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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

纠结了好久这个问题,网上搜了下,说是String 类型,但是又说按值类型去理解,到底String类型应该怎么理解?求解

12 个回复

正序浏览
String类型是引用类型,为什么说它可以按值类型去理解,这应该和它的两种创建String类型的实例有关。String str1= "abc";String str2 = new String("abc");
回复 使用道具 举报
晓俞飞、孰能归 发表于 2014-8-10 11:43
那为什么String类型的特性表现跟值类型一模一样

怎么会一模一样?你能用new创建一个值为3的int对象么?一个在栈中,一个在堆中,完全不一样。只不过,String对象的值和基本类型的值一样不可变罢了。有共同点和一模一样是两码事
回复 使用道具 举报
。。。不知道楼主说的是什么,String就是字符串类型啊,
先要理解什么是面向对象。。。
String是个类,不是基本数据类型
int是基本数据类型,但他有包装类型,也即是Integer类,
回复 使用道具 举报
楼上正解
回复 使用道具 举报
引用类型,不过是提供了方法可以实现直接赋值
回复 使用道具 举报
左脑想你 来自手机 中级黑马 2014-8-10 12:38:30
8#
它底层是字符数组
回复 使用道具 举报
学习了
回复 使用道具 举报
这个地址在内存中自动分配,就像一个门牌号码,只要你知道要找的人的名字,电脑自动会找到这个门牌号码 帮你找到里面的人,不需要关心您要找的人住在哪  只要记住他的名字   也就是变量名
回复 使用道具 举报
int a=5;
string b="hello";
我的理解
a是知类型变量,可以理解为储物柜里存放a的值是5;
为什么b是引用类型变量,储物柜b里存放的不是hello吗?  
应该是这么写String b=new String("hello");的  java可能为了方便 就这么些了  看着像直接赋值 其实不是
回复 使用道具 举报
那为什么String类型的特性表现跟值类型一模一样
回复 使用道具 举报
String毫无疑问是引用类型。
回复 使用道具 举报
坐等答复,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马