为了账号安全,请及时绑定邮箱和手机立即绑定

String 类型不是引用类型 str1 和str2 比较的话 不是表示地址的比较吗

String str1="hello";

String str2="hello";

System.out.print("str1等于 str2:"+(str1==str2));


输出结果 为撒 是 true

正在回答

3 回答

因为这两个变量指向的内存是一样的,都是“”hello“”所以返回true,如果改成

String s1 = new String("hello");

String s2  = new String("hello");

System.out.println(s1==s2);    // 返回fasle

System.out.println(s1.equals(s2));  //此时只能使用equals比较,因为s1和s2此时指向的内存是不同的

0 回复 有任何疑惑可以回复我~
#1

慕粉4047569 提问者

非常感谢!
2017-08-20 回复 有任何疑惑可以回复我~

将System.out.print("str1等于 str2:"+(str1==str2));

改成

System.out.print("str1等于 str2:"+(str1.equals(str2)));

0 回复 有任何疑惑可以回复我~

这个是字符串长度的比较,str1 与str2 是变量名称不是类型,maybe

0 回复 有任何疑惑可以回复我~
#1

慕粉4047569 提问者

我找到答案,但不像你说的。感谢!!!!
2017-08-19 回复 有任何疑惑可以回复我~
#2

qq_不忘初心方得始终_16 回复 慕粉4047569 提问者

a,我也找到了,之前理解错了。
2017-08-19 回复 有任何疑惑可以回复我~
#3

你说风来了 回复 慕粉4047569 提问者

能说说不?我不会。。。
2018-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

String 类型不是引用类型 str1 和str2 比较的话 不是表示地址的比较吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信