首页 新闻 搜索 专区 学院

JAVA 字符串

0
[已解决问题] 解决于 2012-08-06 10:50

String s2="gamelost";
String s3="gamelost";
String str=game+lost;
s2==s3为true那么s2==str为什么是false呢?

常量池中已经有gamelost  这个常量了啊?

淩風的主页 淩風 | 初学一级 | 园豆:200
提问于:2012-03-02 13:34
< >
分享
最佳答案
0

输出都是true啊,上机验证过没?

奖励园豆:5
wofengletian | 初学一级 |园豆:172 | 2012-03-12 17:05
其他回答(1)
0

是String str= "game"+"lost";吧?

Java的String类具有不可变性,你可以看下API,是final类,并且没有提供任何改变值和长度的方法

进行连接字符串操作的时候,Java虚拟机没有改变其中任何一个字符串,而是创建了一个新的String对象,把连接后的结果赋给他。

所以并不是楼主理解的"game" + "lost"直接等价于"gamelost"

s2和s3确实相等,应为常量池中已经存在了"gamelost"

朱样年华 | 园豆:200 (初学一级) | 2012-03-02 17:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册