JAVA编程思想第102页出现了一个Object... args是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:06:59
跟Object[] args是一个意思吗?为什么用三个点代替呢?

JDK1.5特性
void fun(Object... objs){}
拿这个举例子
你调用fun方法
fun(里面写多少参数都OK);
比如fun(1,"s");fun(1,2,"s");fun("s");
都可以
动态参数

javaEE 5.0新增语法。
可变参数的意思。在方法内部使用这个参数时,与Object[] args无任何区别。
但在调用时,有所不同。
void fun(Object... objs) {
}

fun(obj1, obj2, obj3);

void fun1(Object[] objs) {
}

fun1(new Object[]{obj1,obj2,obj3});

哪个更方便,你知道了么?

这个如果你不知道java1.5的新功能那你是不会明白的

java1.5加了好多功能
比如foreach

String aa[];
for(String temp:aa){...}
这是新的for循环

还有泛形限制
List aa<String>;

还有你提到的可变参数
好比说
方法 public void setAa(int... aa){}
你调用这个方法的时候
你可以不传值调用
也可以传一个值 也可以传N个值

示例: new XXX().setAa(); 可行
new XXX().setAa(1,5,2,5); 可行
new XXX().setAa(1,5,2,5,3,2,6,2);一样可行

想学的话 不是一两句话说得完的