黑马程序员技术交流社区
标题:
问一个白痴问题,别笑!
[打印本页]
作者:
librazeng
时间:
2013-5-27 12:27
标题:
问一个白痴问题,别笑!
本帖最后由 librazeng 于 2013-5-27 21:10 编辑
请问这是为什么?
String[] str={"3","5","6"}数组中每个元素都是一个字符串对象
int[] num={3,5,6,7}num数组是一个对象
整理答案:
String类是引用数据类型,创建的“3”,“5”,“6”都是字符串对象;
int是基本数据类型,所以不是对象。
数组本身也是引用数据类型
作者:
SOAR
时间:
2013-5-27 12:41
什么意思。
作者:
王林涛
时间:
2013-5-27 12:44
哥们儿你理解错了!
String[] str={"3","5","6"},这应该是一个字符串的数组,String是用来修饰字符串的
int[] num={3,5,6,7}这儿是一个整数的数组,int是数据类型
作者:
mvplee
时间:
2013-5-27 13:16
本帖最后由 mvplee 于 2013-5-27 13:17 编辑
根本在于String是一个引用数据类型,
int是基本数据类型,如果把int换成Integer就和String类一样了,都是对象,都是引用数据类型!
任何数组都是对象,都是引用
作者:
陈雨
时间:
2013-5-27 13:20
我懂你问的意思:
数组是一种容器,它可以存储对象,也可以存储基本类型的数据
第一种存入的String类型的元素是对象,加了" "表示的是字符串
第二种存入的是int类型的元素
作者:
李阳阳
时间:
2013-5-27 13:27
String str = new String("abc");
这是两个对象,一个是new出来的在堆内存中。一个就是“abc”,它在常量池中。
所以啊,“abc”是一个对象,那String[] str={"3","5","6"}数组里面的元素就都是对象啦。
另外 int[] num={3,5,6,7}里的元素是基本数据类型不是一个对象。
基本类型的一维数组可以被当作Object类型使用,不能当作Object[]类型使用;
非基本类型的一维数组,既可以当做Object类型使用,又可以当做Object[]类型使用
作者:
w270307032
时间:
2013-5-27 13:27
我觉得老师那么说是想说明两点:
1.在 java中万物皆对象(PS:我一新手说这,会被狂吐槽的,此处飘过。。。),数组是对象,字符串也是对象因为String类。
2.你也可以这么理解,java中所有字符串都是对象,字符串在java中不是基本数值类型,因为String类的原因,其实我们在写入String str="3"时,就是创建了1个“3”对象.而数组num中的元素int,是基本数值类型,所以数组num中的元素都是基本数值类型(当然你也可以把它们封装成对象,这是后话)
作者:
ozt6719393
时间:
2013-5-27 13:27
JDK1.5以后的新特性,自动封箱拆箱
作者:
风爽
时间:
2013-5-27 16:15
字符串和数组都是引用型的,String每被new一次就创建一个字符串对象。对于字符串数组String[] str={"3","5","6"},首先,这是一个数组所以是一个对象,数组中的每一个元素又是一个字符串,当然也是一个对象了。但是对于int[] num={3,5,6,7}来说,num是一个数组,为一个对象,但是num数组中的元素都是int型的,int是java中的基本数据类型。
作者:
无妄无涯
时间:
2013-5-27 16:30
数组是引用类型的,因此两个数组整体都是一个对象。同时,字符串也是引用类型,而整形是基本类型,因此数组中的单个字符串也是对象,但数值不是。
作者:
王瀛
时间:
2013-5-27 18:28
[]前的 String 或者 int 指的是数组中元素的数据类型
而 str 和 num 的数据类型是数组类型 属于引用型数据类型
另外,由于刚看到内部类,不了解后面讲的东西,对楼主要问的知识点不太明白=。=
作者:
librazeng
时间:
2013-5-27 21:07
感谢大家的热情回答,谢谢!!
作者:
陈雨
时间:
2013-5-28 08:26
陈雨 发表于 2013-5-27 13:20
我懂你问的意思:
数组是一种容器,它可以存储对象,也可以存储基本类型的数据
第一种存入的String ...
版主也太好了吧,这也加分了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2