黑马程序员技术交流社区

标题: 关于Array.aslist()的一个问题。。 [打印本页]

作者: likairoudou    时间: 2013-7-10 21:19
标题: 关于Array.aslist()的一个问题。。
本帖最后由 likairoudou 于 2013-7-10 22:07 编辑

  1. <P>import java.util.Arrays;
  2. public class AsListTest {
  3.         public static void main(String [] args){
  4.                 int [] a1= new int[]{1,2,3};
  5.                 Object [] a2 = new Object []{1,2,3};
  6.                 Object  a3 = a1;
  7.                 Object [] a4 = new Object[]{a1,a2};
  8.                 System.out.println("a1:"+Arrays.asList(a1));
  9.                 System.out.println("a2:"+Arrays.asList(a2));
  10.                 System.out.println("a3:"+Arrays.asList(a3));
  11.                 System.out.println("a4:"+Arrays.asList(a4));
  12.         }
  13. }</P>
复制代码


同是Object类。。可是a2可以为啥a3不可以呢

作者: majunm    时间: 2013-7-10 21:23
基本数据类型数组 不行  必须是对象数组  你 Integer【】 a1=new Integer【】{1,2,3}; 试试
作者: majunm    时间: 2013-7-10 21:25
兄弟 赶紧试试 可以不!
作者: denghui1010    时间: 2013-7-10 21:33
因为a3指向的数组里的元素是基本数据类型int,而a2数组里的每个元素都是一个对象,而aslist只有当Arrays里的的元素是对象的时候才能直接转换成List里的元素,否则例如这里的数组a1将会成为List里的一个元素存在
作者: "O_忆_O    时间: 2013-7-10 21:55
这样是整一个a1作为一个元素,那么a3只有一个对象就是数组a1啊,输出a1的地址是没错的啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2