猿问

为什么这个运行结果是false而不是"==运算false"

String s1=new String("abcd");

String s2=new String("abcd");

String s3=s1;

System.out.println("==运算:"+s1==s3);

补充:我知道是比较他们两的内存地址,但是打印的结果为什么没有打印"==运算"

飞得更高1111
浏览 1282回答 3
3回答

car

运算符的顺序关系,+在==之前"==运算:"+s1 和  s3 是否相同 ,因此是false加( "==运算:"+s1)==s3解决

飞得更高1111

这个是优先级的问题,所有和字符串运算都是先链接字符串然后再去用算所以是false,加个括号就好了
随时随地看视频慕课网APP

相关分类

Java
我要回答