String a = "abc";
String b = "abc";
System.out.println("====>"+ a==b );
输出结果为false.
String a = "abc";
String b = "abc";
System.out.println("====>"+ (a==b) );
结果就为true
为什么呢?
很简单运算符优先级问题
+号的优先级大于==
所以第一个程序先执行"====>"+ a 然后将这个结果与b进行==比较,所以地址就不再一样,返回false,而第2次先将a与b进行==比较,再与"====>"运算,所以为true
java字符串
最新推荐文章于 2025-12-01 18:34:47 发布
本文通过两个Java代码示例深入解析了字符串比较时应注意的运算符优先级问题。具体来说,当使用==比较两个由不同变量组成的字符串时,由于+运算符的优先级高于==,可能导致预期之外的结果。文章首先展示了一个输出为false的例子,随后通过调整代码顺序使结果变为true,以此阐明了这一概念。
709

被折叠的 条评论
为什么被折叠?



