java之equals和==区别
-
==(对象或者值)比较
-
对于==比较的是操作符两端的操作数是否是同一个对象。
-
操作符两边必须是同一类型对象才可以编译通过。
-
具体数值,比较的是数值是否相等
int a =10; float b = 10.0f; System.out.println(a==b);//true
10,10.0,10L是相同的数值
-
-
equals(对象)比较
-
对于String来说,如果String对象使用new关键字初始化出来,比较的是内容。
String a3 = new String("haha"); String a1 = new String("haha"); System.out.println(a3.equals(a1));//true
-
对于一般对象来说,比较的是是否是同一对象。
FGH f = new FGH(12); FGH f1 =new FGH(12); System.out.println(f.equals(f1));//false;
-
操作符两边可以是任何类型的比较,因为所有的类都是继承自java.lang.Object这个类的。
-