本帖最后由 3040789425 于 2014-8-25 12:10 编辑
package test;
public class fdasfsadf {
public static void main(String[] args) {
showT('d','a','a','a','a','a');
showT("\n");
char[] a1={'d','a','a','a','a','a'};
showT(a1);
showT("\n");
showT(1,2,4,5,6,7,8,9,12);
showT("\n");
int[] arr={1,2,4,5,6,7,8,9,12};
showT(arr);
showT("\n");
show(1,2,4,5,6,7,8,9,12);
showT("\n");
int[] arr1={1,2,4,5,6,7,8,9,12};
show(arr1);
showT("\n");
}
public static <T> void showT(T... arr) //int... 为可变参数数组,既可以接收数组又可以接收数组原材料,
{ // 自动封装成数组,再传入
for(T a:arr)
System.out.print(a+" ");
}
public static void show(int... arr) //int... 为可变参数数组,既可以接收数组又可以接收数组原材料,
{
for(int a:arr)
System.out.print(a+" ");
}
}
运行结果:
d a a a a a
[C@68bcef
1 2 4 5 6 7 8 9 12
[I@7bd86d
1 2 4 5 6 7 8 9 12
1 2 4 5 6 7 8 9 12
问题:
定义的泛型可变参数函数
showT(1,2,4,5,6,7,8,9,12);, 正确输出
int[] arr={1,2,4,5,6,7,8,9,12}; showT(arr); 输出地址 ???为什么输出的是地址不是内容
定义的可变参数函数
show(1,2,4,5,6,7,8,9,12);, 正确输出
int[] arr1={1,2,4,5,6,7,8,9,12}; show(arr1); 正确输出
|
|