JDK 1.5 参数列表问题!

wonkju 2012-11-08 08:13:07

int[] a1 =new int[]{1,2,3};
String[] a2 = new String[]{"a", "b", "c"};
System.out.println(Arrays.asList(a1));
System.out.println(Arrays.asList(a2));

outPut:


[[I@de6ced]
[a, b, c]

这里,a1 按照 JDK1.5 的方式运行,
我想问的是,参数列表中,asList(T... a)
是不是多个元素当成“1”个 Object哈?
因为我运行
int[] a3 = new int[]{2};
System.out.println(Arrays.asList(a3))
outPut 的格式和 a1 的输出格式是一样的。
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wonkju 2012-11-08
  • 打赏
  • 举报
回复
引用 1 楼 icebamboo_moyun 的回复:
首先讲解T... a 类型后加三个点代表可变参数(数量可变) T是泛型 例子: Java code123456789101112131415161718192021public static void main(String[] args) { System.out.println(add1(1, 2, 3, 4, 5)); //可以继续加参数 ……
我觉得前面大侠说的蛮好的,我觉得增加的应该是 对象,而 int[]数组整个是对象,里面不是对象。我觉得这样了解好点,谢谢了,况且 打印 是一个对象:[[I@de6ced] ,不是间隔的多个对象。
wonkju 2012-11-08
  • 打赏
  • 举报
回复
引用 1 楼 icebamboo_moyun 的回复:
首先讲解T... a 类型后加三个点代表可变参数(数量可变) T是泛型 例子: Java code123456789101112131415161718192021public static void main(String[] args) { System.out.println(add1(1, 2, 3, 4, 5)); //可以继续加参数 ……
我有想过加的应该是 对象哈,list.add(1),get(0)都没有错的, 我想的是 AutoBoxing,自动装箱···
huntor 2012-11-08
  • 打赏
  • 举报
回复
        int[] data = {1,2,3};
        java.util.List<?> l = java.util.Arrays.asList(data);
        System.out.println(l);
        System.out.println(java.util.Arrays.toString((int[])l.get(0)));
老思子 2012-11-08
  • 打赏
  • 举报
回复
引用java编程思想的说法,Arrays.asList在底层还是数组,所以不能调整大小,add()这类不能用很正常(返回一个受指定数组支持的固定大小的列表 引自jdk 6.0中文文档) 还有Integer类自身没有toString的实现,而String类型有

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧