解决方案 »

  1.   

    equals调的是Object的equal,也就是==,都是false很明显
      

  2.   

    下面这个呢?public class B {
    @Override
    public int hashCode() {

    return 11111;
    } public static void main(String[] args) {
    B b1 = new B();
    B b2 = new B();

    System.out.println(b1==b2);
    System.out.println(b1.equals(b2));
    }

    }
      

  3.   

    要想equals返回true,必需重写equals方法
      

  4.   

    你应该去了解==是如何进行判断的,equals是如何进行判断的,那样你就很清楚了。
      

  5.   


    求重写equals方法的代码。。
      

  6.   


    根据对象而言,其实==就是equals 同样是判断对象的内存地址。恩,应该是这样的
      

  7.   

    楼上说的是对的!equals是从OBJECT超类继承过来的!它的==与equals是没有区别的!都是比较引用地址!你的自定义类默认继承OBJECT所以默认也是比较引用地址,你自己的自定义类可以重写它的equals比较规则!
    String类源码中就是重写了equals比较规则!比较字符内容!
    请参考下面
    http://blog.csdn.net/zxzy668/article/details/3933403
      

  8.   


    求重写equals方法的代码。。

    public class B {
     
        String s;
        @Override
    public boolean equals(Object obj) {
    //在这里面代码随意写
    return true;
    }
       
        @Override//跟这个方法类似
        public int hashCode() {
             
            return 11111;
        } 
        public static void main(String[] args) {
            B b1 = new B();
            B b2 = new B();
             
            System.out.println(b1==b2);
            System.out.println(b1.equals(b2));
        }     
    }
      

  9.   


    求重写equals方法的代码。。

    public class B {
     
        String s;
        @Override
    public boolean equals(Object obj) {
    //在这里面代码随意写
    return true;
    }
       
        @Override//跟这个方法类似
        public int hashCode() {
             
            return 11111;
        } 
        public static void main(String[] args) {
            B b1 = new B();
            B b2 = new B();
             
            System.out.println(b1==b2);
            System.out.println(b1.equals(b2));
        }     
    }

    恩。我知道了