黑马程序员技术交流社区
标题:
String类型到底是值类型还是引用类型?如何理解?
[打印本页]
作者:
晓俞飞、孰能归
时间:
2014-8-10 10:19
标题:
String类型到底是值类型还是引用类型?如何理解?
纠结了好久这个问题,网上搜了下,说是String 类型,但是又说按值类型去理解,到底String类型应该怎么理解?求解
作者:
晓俞飞、孰能归
时间:
2014-8-10 10:21
坐等答复,,
作者:
fantacyleo
时间:
2014-8-10 10:35
String毫无疑问是引用类型。
作者:
晓俞飞、孰能归
时间:
2014-8-10 11:43
那为什么String类型的特性表现跟值类型一模一样
作者:
柀堓椛開
时间:
2014-8-10 12:25
int a=5;
string b="hello";
我的理解
a是知类型变量,可以理解为储物柜里存放a的值是5;
为什么b是引用类型变量,储物柜b里存放的不是hello吗?
应该是这么写String b=new String("hello");的 java可能为了方便 就这么些了 看着像直接赋值 其实不是
作者:
柀堓椛開
时间:
2014-8-10 12:26
这个地址在内存中自动分配,就像一个门牌号码,只要你知道要找的人的名字,电脑自动会找到这个门牌号码 帮你找到里面的人,不需要关心您要找的人住在哪 只要记住他的名字 也就是变量名
作者:
_童金辉
时间:
2014-8-10 12:33
学习了
作者:
左脑想你
时间:
2014-8-10 12:38
它底层是字符数组
作者:
微微微笑
时间:
2014-8-10 13:02
引用类型,不过是提供了方法可以实现直接赋值
作者:
晓俞飞、孰能归
时间:
2014-8-10 13:21
楼上正解
作者:
小洁呵呵
时间:
2014-8-10 14:48
。。。不知道楼主说的是什么,String就是字符串类型啊,
先要理解什么是面向对象。。。
String是个类,不是基本数据类型
int是基本数据类型,但他有包装类型,也即是Integer类,
作者:
fantacyleo
时间:
2014-8-10 15:21
晓俞飞、孰能归 发表于 2014-8-10 11:43
那为什么String类型的特性表现跟值类型一模一样
怎么会一模一样?你能用new创建一个值为3的int对象么?一个在栈中,一个在堆中,完全不一样。只不过,String对象的值和基本类型的值一样不可变罢了。有共同点和一模一样是两码事
作者:
liubea
时间:
2014-8-10 16:18
String类型是引用类型,为什么说它可以按值类型去理解,这应该和它的两种创建String类型的实例有关。String str1= "abc";String str2 = new String("abc");
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2