public class JPTQuestion1 { public static void main(String[] args) { String s1 = "abc"; String s2 = "abc"; System.out.println("s1 == s2 is:" + s1 == s2); } }
输出:false -----------------------坑爹的是:s1 == s2 is:竟然没有输出,控制台就一个false
原因:优先级问题。syso里面是两个字符串在比较,第一个字符串是:"s1 == s2 is:" + s1, 第二个字符串是:s2,所以输出是false,而且没有s1 == s2 is:
代码片段2:
public class JPTQuestion1 { public static void main(String[] args) { String s1 = "abc"; String s2 = "abc"; System.out.println("s1 == s2 is:" + (s1 == s2)); } }
输出:s1 == s2 is:true ---------------------真的好坑爹。
原因可以有上面的原因得出,也是优先级问题。