黑马程序员技术交流社区
标题:
请看问题
[打印本页]
作者:
谭辉
时间:
2013-3-12 12:27
标题:
请看问题
本帖最后由 谭辉 于 2013-3-12 18:34 编辑
String str1 = new String("str");
String str2 = new String("str");
System.out.println("==比较 "+str1==str2);
为什么前面的"==比较"输不出来
作者:
张卫刚
时间:
2013-3-12 12:44
public static void main(String []args){
String str1 = new String("str");
String str2 = new String("str");
System.out.println("==比较 "+(str1==str2));//这下明白了吧,次序问题
}
作者:
HM李帅
时间:
2013-3-12 12:50
按照程序执行的优先级
你的System.out.println("==比较 "+str1==str2);
相当于是 System.out.println(("==比较 "+str1)==str2);
由于("==比较 "+str1)不等于str2
所以结果是false
改成System.out.println("==比较 "+(str1==str2));就好了
作者:
陈丽莉
时间:
2013-3-12 13:40
转换字符串的时候,只要将要转换的变量+“”就会变成字符串。
所以你这里“==比较”+str1 优先级比较高,直接将str1转换成了字符串。
几位的回答很详细,如果没有问题,请将帖子分类改成【已解决】。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2