黑马程序员技术交流社区
标题:
关于Array.aslist()的一个问题。。
[打印本页]
作者:
likairoudou
时间:
2013-7-10 21:19
标题:
关于Array.aslist()的一个问题。。
本帖最后由 likairoudou 于 2013-7-10 22:07 编辑
<P>import java.util.Arrays;
public class AsListTest {
public static void main(String [] args){
int [] a1= new int[]{1,2,3};
Object [] a2 = new Object []{1,2,3};
Object a3 = a1;
Object [] a4 = new Object[]{a1,a2};
System.out.println("a1:"+Arrays.asList(a1));
System.out.println("a2:"+Arrays.asList(a2));
System.out.println("a3:"+Arrays.asList(a3));
System.out.println("a4:"+Arrays.asList(a4));
}
}</P>
复制代码
QQ截图20130710211643.jpg
(11.8 KB, 下载次数: 0)
下载附件
结果
2013-7-10 21:17 上传
同是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