java的字符串

在.NET里面,string是引用类型,而不是值类型,只不过,它是一种特殊的引用类型。比如说,

string s1 = "A";

string s2 = s1;

s1 = "B";

但现在,s2仍然是"A"。这跟通常意义上的引用类型有很大不同。

而在java中,其字符串称为“不可变字符串”,什么意思呢,就是String类并没有提供修改字符串的方法。如果你想改变字符串变量的值,其实相当于将新的字符串赋给该变量。

我觉得,.NET和java对字符的处理方式都是一样的,可以想象成将各种字符串存放在公共的存储池中,如果两个变量都指向同一个字符串,那它们相等(equals == true);如果其中一个需要改变,则指向另一个字符串。如果复制字符串变量,那么新旧变量也都指向同一个字符串。

java的设计者认为共享带来高效率远远胜过于提取、拼接的方便性。其实,我们在代码中,很少需要进行字符串修改,更多的是对字符串进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值