的System.out.println((A + C)==(B + d));为什么这句话返回假?

时间:2015-08-12 06:19:33

标签: java

import java.io.*;

    public class StringTest{
        public static void main(String[] args){

            String a="Hello";
            String b="Hello";

            String c=new String("Hello");
            String d=new String("Hello");

            System.out.println(a+c);  
            System.out.println(b+d);  
            System.out.println((a+c)==(b+d));
        }
    }

为什么此System.out.println((a+c)==(b+d));语句返回false

1 个答案:

答案 0 :(得分:1)

因为String是一个类,因此==运算符检查引用相等性。请改用equals(Object)方法。 (即:(a + c).equals(b + d);