一、增强for循环
增强for循环举例
int a[] = {1,2,3,5};
for(int i : a){
System.out.println(i);
}
可用增强for循环的类必须实现了Iterable接口,例如Set
另,常用到的Map并没有实现这个接口,若想用增强for循环遍历Map,则可以用Map的keyset方法或者entrySet方法将其转换为Set进行操作。
增强for循环只是遍历一个数组,或者其他实现了Iterable接口的类对象,在循环中并不能修改元素的值
二、可变参数
参数可变的方法举例
public int sum(int ...nums){
int result = 0;
for(int i : nums){
result += i;
}
return result;
}
此处nums在方法中可以看作是一个数组,进行此方法调用时,可以传入几个int类型的整型变量,也可以传入一个整形数组
注意,如果含有可变参数的方法还包含其他参数,进行方法定义时要把可变参数放在最后。否则会引起歧义。
一个比较特殊的例子
Arrays.asList
这个可变参数的类型为对象,当传入一个基本类型数组时,会当做一个数组对象进行处理,而不是多个数组内元素