A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© g552092947 中级黑马   /  2015-6-25 17:05  /  831 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String[] arr=new String[0]     和String[] arr=null     有什么区别啊   不都是没有吗?

13 个回复

倒序浏览
一个是 0一个是null,这怎么能一样??
回复 使用道具 举报
在程序的世界里,0不等于空.
0是你定义了一个空数据的数组类型,有初始化值
null是根本没有数组.
回复 使用道具 举报
前者是创建两个对象,后者是一个对象,,
回复 使用道具 举报
支持2楼。。。
回复 使用道具 举报
0在内存中是有数组存在的,null在内存中是空的
回复 使用道具 举报
第一个是创建了一个长度为0的数组,arr指向了一个数组对象。第二个是arr直接指向了Null,不属于数组
回复 使用道具 举报
ARD 初级黑马 2015-6-25 23:11:08
8#
null 会被当垃圾清空,0不会.
回复 使用道具 举报
楼上解答的很到位了
回复 使用道具 举报
不一样第一个arr引用了一个new出来的长度为0的String数组,第二个根本就没有引用对象
回复 使用道具 举报
回复 使用道具 举报
Diors 中级黑马 2015-6-26 08:34:20
12#
就跟你在电脑上创建一个空白文件和没有创建文件的一样的区别
回复 使用道具 举报
多个角度说明一个问题,各位厉害!
回复 使用道具 举报
都有道理吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马