Java中的参数列表
一. 什么是参数列表
当你在编写一个函数时,你不知道函数形参的类型或者是形参的长度时,你就可以使用参数列表来代替。
样式:
public void f(Object...objects) {
System.out.println("Object");
System.out.println(objects.length);
}
就是(类型...)在你所需要的参数类型后面加上三个点
二.参数列表的本质
参数列表的本质是一个长度不确定的数组。
比如说当你输出形参时得到的是一个地址符,如下:
public void f(Integer...integers ) {
System.out.println("integers");
System.out.println(integers);
}
public static void main(String[] args) {
Parameter_list pl=new Parameter_list();
pl.f(new Integer(20),new Integer(20),20);
}

三.object类型的形参列表
由于所有的类都是object的子类,所以所有的类的对象都可以为object形参列表的实参。
public void f(Object...objects) {
System.out.println("Object");
System.out.println(objects.length);
}
public static void main(String[] args) {
Parameter_list pl=new Parameter_list();
pl.f(20,30,51,30);
}
输出为:

同时上面的列子也有自动封箱的存在。
四.自动封箱与拆箱与形参列表
public void f(Integer...integers ) {
System.out.println("integers");
}
public static void main(String[] args) {
Parameter_list pl=new Parameter_list();
pl.f(20,30,51,30);
实参(20,30,51,30)自动封箱为integer类型
但是注意包装类和普通类型同时存在将会有二义性
Java中的参数列表的更多相关文章
- java中如何使用列表数组
java中如何使用列表数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me 转载链接 https://blog.csdn.net/hgtjcxy/article/details/8183519 ...
- java中把list列表转为arrayList以及arraylist数组截取的简单方法
java中把list列表转为arrayList以及arraylist数组截取的简单方法 package xiaobai; import java.util.ArrayList; import java ...
- Java 中可变参数
可变参数 Java 中可变参数 现在需要编写一个求和的功能,但是不知道有几个参数,在调用的时候才知道有几个参数,请问这如何实现呢? Java 给我们提供了一个 JDK 1.5 的新特性---可变参数 ...
- Java中的参数验证(非Spring版)
1. Java中的参数验证(非Spring版) 1.1. 前言 为什么我总遇到这种非正常问题,我们知道很多时候我们的参数校验都是放在controller层的传入参数进行校验,我们常用的校验方式就是引入 ...
- java——慎用可变参数列表
说起可变参数,我们先看下面代码段,对它有个直观的认识,下方的红字明确地解释了可变参数的意思: public class VarargsDemo{ static int sum(int... args) ...
- Java中可变参数
从java5开始出现了可变参数,这是对java方法及数组的拓展! 方法中可以接受的参数不再是固定个数的,而是随着具体需求传递的多少来决定. 定义格式: 返回值类型 方法名(参数类型 ... 形式参数 ...
- java中方法参数的一些总结(1)
1.问题说明 在C++中,函数调用时有传值调用和传址调用两种方式,但在Java中只有传值调用一种方式.Java中的方法参数为那几种基本数据类型的情况跟C++中一样,传入的只是变量的拷贝. ...
- 程序猿的日常——Java中的集合列表
列表对于日常开发来说实在是太常见了,以至于很多开发者习惯性的用到数组,就来一个ArrayList,根本不做过多的思考.其实列表里面还是有很多玩法的,有时候玩不好,搞出来bug还得定位半天.所以这里就再 ...
- Summary: Java中函数参数的传递
函数调用参数传递类型(java)的用法介绍. java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清. (一)基本数据类型:传值,方法不会改变实参的值. public class Te ...
随机推荐
- 更改pip源至国内镜像
更改pip源至国内镜像 经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样 ...
- sublime markdown 设置
安装Markdown Preview 修改用户配置文件(代码高亮): { "enable_highlight": true } 快捷键: ctrl+b 生成html文档 安装Omn ...
- windows的网上邻居
要说以前中学最怕上什么课就是电脑课,要说电脑印象最深的是什么软件就是总摆在桌面又听不懂又点进去什么都没有的“网上邻居”. “网上邻居”指的是同一局域网内在线的的电脑,更简单些就是连在同一路由器中开机的 ...
- kiss prefix paleo,per,pen,pan,para out 1
1● paleo 2● per 3● pen 4● pan 5● para 1★ paleo 古 2★ para ,辅助,在旁边 3★ pan 广泛的 4★ per 假,坏,自始自 ...
- pl/sql 如何将Excel文件数据导入oracle的数据表?
1.准备导入数据的excel文件 注意:excel列名和数据表列名必须相同,excel文件sheet2和sheet3可以删除 1)excel文件格式 2)数据表格式 2.打开pl/sql ,找到工具- ...
- python 利用turtle库绘制七段数码管的方式,绘制当前事件(时分秒00:00:00)
# coding:utf-8# 绘制七段数码管,显示当前时间import timeimport turtle as tt # 绘制间隔def drawGap(): tt.penup() tt.fd(3 ...
- windows 日常使用
打开任务管理器:shift+ctrl+esc 各种快捷打开的方式 regedit.msc 注册表 gpedit.msc 组策略 lusrmgr.msc本地用户和组 CMD命令窗口打开任务管理: tas ...
- Java反射《三》获取属性
package com.study.reflect; import java.lang.reflect.Field; /** * 反射,获取属性 * @ClassName: FieldDemo * @ ...
- 7.1 C++模板基本概念及语法 《C++模板与标准模板库》
参考:http://www.weixueyuan.net/view/6398.html 总结: 模板是另一种代码重用机制. 需要设计的几个类,其功能都是一样的,仅仅只是需要操作的数据类型不同. 有更好 ...
- ubuntu多显示器单触摸屏校准
多显示器单触摸屏屏幕校准 0.触摸屏重定向 sudo xinput map-to-output 13 DP1 #将触摸屏映射到指定的显示器 其中:13为触摸屏设备id,可通过 xinput命令查看 ...