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,==

“==”比较两个变量本身的值,即两个对象在内存中的首地址。

posted @ 2012-10-02 16:08  zxsr20  阅读(35)  评论(0)    收藏  举报