重写equals和hashcode和checkRep的写法

    技术2023-08-20  88

    关于重写equals方法: 共需要六个步骤 需要比较的对象是否为空 是否在和自身比较 两个对象类是否相同 比较的内容是否都为空 比较的内容是否相等 返回true

    @override public boolean equals(object obj){ //比较的对象就是本身true if(this==obj) return true; //比较的对象为空返回false if(obj==null) return false; //比较两个对象的类是否相等,如果不想等返回false if(this.getClass()!=obj.getClass()) return false; //如果需要比较的对象的内容都为空,那么返回false if(obj.name==null){ if(this.name==null){ return false; } } //如果比较的内容不为空但是不想等则返回false else if(!name.equals(obj.name)) return true; //最后上述情况都为满足返回true return true; }

    关于重写hashcode的方法:

    @override public int hashcode(){ final int prime=31; result = prime+name.hashcode(); return result; }

    checkRep的写法:使用assert断言方法进行编写

    private void checkRep(){ assert plateNo!=null; assert width>100; }
    Processed: 0.010, SQL: 9