java ==与equal
1,equal
对于object类(或继承object类,但无实现自定义equal),是比较对象的类型的,除非同一对象,都不相等。
对于基本类型(如int)不能使用equal。
对于基本类型的封装类,equal是比较其类型
对于继承object类的,又实现了自定义equal(重写其equal),则是按自定义的equal执行,一般重写的就是重写成对其内容进行比较。一般api中继承object的类都已重写equal对内容进行比较。
int a = 3;
Integer d=3;
System.out.println(d.equals(a)); //true,因为其内容是相等的
System.out.println(a.equals(d)); //报错,因为基本类型int a没有equal这个方法
2,==
“==”比较两个变量本身的值,即两个对象在内存中的首地址。

浙公网安备 33010602011771号