遍历实现了Iterator接口的集合类
可变参数:Varargs
简述:
JDK1.5开始,Java允许为方法定义长度可变的参数
语法:public void foo(int ... args){}
注意事项:
可变参数可以被当做数组使用
传递对象数组时,数组将被打散
传递基本类型数组时,数组将被看待为一个对象
例: List list = Arrays.asList(1,2,3,4,5);
System.out.println(list);//打印[1, 2, 3, 4, 5]
int[] arr1 = {1,2,3,4,5};
list = Arrays.asList(arr1);
System.out.println(list);//打印[[I@1e58cb8]
String[] arr = {"qw","as","df","xc","ss"};
list = Arrays.asList(arr);
System.out.println(list);//打印[qw, as, df, xc, ss]
可变参数只能处于参数列表的最后(只能有一个可变参数)
枚举:Typesafe Enums
例子:
public Enum Grade{
//生成A和B两个枚举
A("90-100"){
//重写抽象方法
public String range(){return "优"}
}
,B("80-90"){
//重写抽象方法
public String range(){return "良"}
}
private String value;
//私有构造函数
private Grade(String value){
this.value=value;
}
public String getValue(){
return value;
}
//定义抽象方法
public abstract String range();
}
public class Test{
public static void main(String[] args){
//Grade对象只能是Grade.A或Grade.B,所以叫枚举(就是固定枚对象中举出一个,这里是两枚对象中举出一个)
Grade g = Grade.A;
String s = g.getValue();
System.out.println(s);//打印90-100
String ss = g.range();
System.out.println(ss);//打印优
}
} |
|