易百教程

157、以下 Java 程序的输出是什么?

public class Main {

    public static void main(String args[]) {
        String a = new String("Yiibai is a good study place");
        String b = "Yiibai is a good study place";
        if (a == b) {
            System.out.println("a == b");
        }
        if (a.equals(b)) {
            System.out.println("a equals b");
        }
    }
}

运行结果:

 a equals b

解释 :运算符 == 还会检查两个字符串对象的引用是否相等。 尽管两个字符串都包含相同的内容,但它们的引用并不相等,因为它们都是通过不同的方式(构造函数和字符串文字)创建的,因此 a == b 是不相等的。 另一方面,equal() 方法总是检查内容。由于它们的内容相等,因此打印 a equals b