关于java方法中Object... args参数的含义

关于java方法中Object... args参数的含义

在阅读google发布的volley源码时,突然看到一个方法中存在这样的写法,如 :v(String format, Object... args)

不明白什么意思,琢磨着为什么要这样写呢,跟Object[] args是一个意思吗?为什么用三个点代替呢?后来查阅了下文档,原来这是JDK1.5新增语法,新特性,动态参数或者是可变参数的意思。

举例:

有个方法v,调用v方法

v(里面写多少参数都行);

比如:

v(1,"s");
v(1,2,"s");
v("s");

在方法内部使用这个参数时,与Object[] args无任何区别。

但在调用时,有所不同。

void v(Object... objs) {
}

v(obj1, obj2, obj3);
时间: 2024-10-10 06:26:05

关于java方法中Object... args参数的含义的相关文章

wrong number of arguments,java方法反射时数组参数的坑

java方法中只有一个参数是数组,反射的时候我们不能想当然的传歌数组进去,传数组进去的时候表示多个参数. 两个数组不是一个意思啊. 我们应该把数组转为objet,这样才表示一个参数. import java.lang.reflect.Method; public class MethodTest { public void a(String[] args) { System.out.println("a"); } public static void main(String[] arg

java eclipse 中给args 传递参数

我们都知道java源文件运行时通过main主函数为入口启动的,在cmd命令窗口我们知道怎么传递参数,但是在编译器里边就不知道怎么传递参数了, 在这里有一个简单的例子: public class Test{ public static void main(String[] args){ //这里的args就是传入的参数数组. }}在cmd中 java Test a b c 但是在eclipse中的话,对参数的传递就没有什么头绪了,这里可以在运行 选中项目主类右键在run as里选中 run con

JavaSE7基础 main方法中 String[] args的用法

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Demo{ //main方法中String[] args的用途 //接收调用main方法是 传入的字符串参数 public static void main(String[] args){ //看String数组的长度,即有几个字符串 System.out.println(args.length); for(int i=0,length=args.length;i<length;

Java方法中传值和引用传递的问题(转)

说明:标题其实说法是错误的.Java中只有值传递,没有引用传递. ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x = x *2; } ... ... //调用该函数 int num = 5; System.out.println(num); changeValue(num); System.out.println(num); ... ... 调用函数changeValue()前后num的值都没有改变. 值传递的过

java 对象的this使用 java方法中参数传递特性 方法的递归

一.this关键字,使用的情形,以及如何使用. 1.使用的情形 类中的方法体中使用this  --初始化该对象 类的构造器中使用this --引用,调用该方法的对象 2.不写this,调用 只要方法或者构造器中  不存在成员变量与局部变量同名的情况,可直接不写this 否则方法中或构造器中使用的就是局部变量 3.static 静态方法不能调用this,不能调用任何非static修饰的成员变量 或者方法 二.java方法中  参数传递特性 1.基本数据类型--实际是新增变量,并赋值而已   不过代

iOS 处理方法中的可变参数

## iOS 处理方法中的可变参数 最近写了一个自定义的对话框的demo,想模仿系统的UIAlertView的实现方式,对处理可变参数的时候,遇到了小问题,于是谷歌了一下,写下了处理问题的方法,记录下来,以备后需. 代码实现 - (instancetype)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelBut

java程序中String args[]起什么作用?

在下面这个程序中String args[]起什么作用?我学过C++,String args[]与C++中的什么类似?如果是C++,想要输出字符串只要在下面写cout<<"...."<<endl;就可以了,void main()中的括号为空,而java中为什么要写String args[]呢? class Example{ public static void main(String args[]){ System.out.println("This i

C#方法中的各类参数

居家隔离的第26天,还在持续的疫情着实让人担忧,看着每天新增的确认人数数字,也在为那些家庭祝福,每当想想那不是一个数字是一条条鲜活的生命时就格外沉重.利用闲在家里的时间巩固C#语言的一个难点.最近在温习刘铁锰老师教学视频<C#语言入门详解>加上翻看其他的电子图书巩固自己对一些难点知识的印象,好记性不如烂笔头,组织语言记录下来效果更佳.各种方法通过不同的逻辑和顺序组合在一起就形成了程序,常规都是带有参数的方法,参数可以分为以下几类: 传值参数 引用参数 输出参数 数组参数 可选参数 具名参数 扩

4、处理方法中获取请求参数、请求头、Cookie及原生的servlet API等

1.请求参数和请求头 使用@RequestParam绑定请求参数,在处理方法的入参处使用该注解可以把请求参数传递给请求方法 —— value :参数名 —— required : 是否必须,默认为true,表示请求参数中必须包含对应的参数,如果不存在,则抛出异常     例如: @RequestMapping(value="/param") public String testParam(@RequestParam(value="name", required=tr