黑马程序员技术交流社区

标题: 帮我看看这个题吧 [打印本页]

作者: g552092947    时间: 2015-6-25 17:05
标题: 帮我看看这个题吧
String[] arr=new String[0]     和String[] arr=null     有什么区别啊   不都是没有吗?

作者: liu100chao    时间: 2015-6-25 18:37
一个是 0一个是null,这怎么能一样??
作者: 我要当大牛    时间: 2015-6-25 18:40
在程序的世界里,0不等于空.
0是你定义了一个空数据的数组类型,有初始化值
null是根本没有数组.
作者: heima591046495    时间: 2015-6-25 18:48
前者是创建两个对象,后者是一个对象,,
作者: keto    时间: 2015-6-25 21:22
支持2楼。。。
作者: 张安哲    时间: 2015-6-25 21:53
0在内存中是有数组存在的,null在内存中是空的
作者: 嘎路的米    时间: 2015-6-25 22:14
第一个是创建了一个长度为0的数组,arr指向了一个数组对象。第二个是arr直接指向了Null,不属于数组
作者: ARD    时间: 2015-6-25 23:11
null 会被当垃圾清空,0不会.
作者: 蓦然回首3Y    时间: 2015-6-26 06:55
楼上解答的很到位了
作者: Morgan    时间: 2015-6-26 08:16
不一样第一个arr引用了一个new出来的长度为0的String数组,第二个根本就没有引用对象
作者: as604049322    时间: 2015-6-26 08:32

作者: Diors    时间: 2015-6-26 08:34
就跟你在电脑上创建一个空白文件和没有创建文件的一样的区别
作者: 水壶vs兔子    时间: 2015-6-26 08:35
多个角度说明一个问题,各位厉害!
作者: 改变    时间: 2015-6-26 11:20
都有道理吧




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