Java中equals和==的简要区别

mac2025-12-11  2

==: 1)比较基本数据类型时,比较的是值是否相等。 2)比较应用数据类型时,比较的是应用地址是否相等.

equals: 属于java.lang.object中的方法,如果该方法没有被重写过默认也是==, 具体要看定义类中是否有重写equals方法,有重写地话比较的是值是否相等,一般string类,Date类都有重写equals()方法;

可以参考以下例子:

//自动类型转换, 会将it(int) -->it(float) int it=65; float fl = 65.0f; System.out.println("65和65.0f是否相等?"+(it==fl)); //true System.out.println("-----------------------------------------------"); char ch1 = 'A'; char ch2 = 12; System.out.println("65和'A'是否相等? "+(it==ch1)); //ture System.out.println("12和ch2是否相等? "+(12 == ch2)); //true System.out.println("-----------------------------------------------"); String str1 = new String("hello"); String str2 = new String("hello"); //比较引用地址 System.out.println("str1和str2是否相等?"+(str1==str2)); //false System.out.println("---------------------------------------------------"); //比较的值 System.out.println("str1是否equals str2?"+str1.equals(str2)); //true //Incompatible operand types String and Date // System.out.println("hello" ==new java.util.Date()); 编译报错:两种类型不同的数据不能进行比较。

希望能够帮助到您!

最新回复(0)