有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中字符串相等的println()方法。。。它到底是如何工作的?

我试图了解系统的工作原理。出来Java中的println()。。。在下面的2个代码段中,为什么答案不同,为什么不在println()方法中打印“Hello:”字符串

 public static void main(String[] args) {
        String x = "abc";
        String y = "abc";
        System.out.println("Hello:" + x == y);
        System.out.println("x.equals(y): " + x.equals(y));

        if(x == y){
            System.out.println("Hello:" + x==y);
        }

}

答案是:

false
x.equals(y): true
false

对于第二个代码段:

 public static void main(String[] args) {
        String x = "abc";
        String y = "abc";

        System.out.println( x == y);

        System.out.println("x.equals(y): " + x.equals(y));

        if(x == y){
            System.out.println(x==y);
        }

}

答案是:

true
x.equals(y): true
true

共 (2) 个答案

  1. # 1 楼答案

    这是因为operator precedence"Hello:" + x == y相当于("Hello:" + x) == y

    因为+的优先级高于==