java泛型定义可变参数
/**
* 用泛型定义可变参数
*/
public class Test6<T> {
public void printFlags(T...args){
//通过泛型类的T定义可变参数
for (T a:args){
System.out.print(a+" ");
}
System.out.println();
}
public <T> void printNames(T...args){
//通过泛型方法定义可变参数
for (int i=0;i<args.length;i++){
System.out.print(args[i]+"\t");
}
System.out.println();
}
public static <T> void printNumbers(T...args){
//通过静态方法定义
for (T a :
args) {
System.out.println(a);
}
}
public static void main(String[] args) {
Test6<Integer> i6 = new Test6<>();
i6.printFlags(1,2,3,4,5,6);
i6.printNames("a","b","c");
Double[] d = {1.0,2.0,3.0,4.0};
//也可以创建数组传入形参列表
Test6.printNumbers(d);
//泛型对应类 如果是基本数据类型double[]的话结果为 [D@1b6d3586
}
}