compareTo equals toString 起作用时机

来源:互联网 发布:手机淘宝能删除好评吗? 编辑:程序博客网 时间:2024/06/05 13:32

compareTo equals toString 起作用时机

 

 equals 重写之后要重写 hashcode

Collections.sort(localTree1.getSonList());//用这个的时候实体要实现Comparable接口,写compareTo方法(Tree),类似list.removeAll();要实体类复写equals一样

 public int compareTo(Object arg0)

  {

    if (arg0 == null) {

      return 1;

    }

    if (Integer.valueOf(this.type).compareTo(Integer.valueOf(((Tree)arg0).getType())) == 0) {

      return Integer.valueOf(this.displayOrder).compareTo(Integer.valueOf(((Tree)arg0).getDisplayOrder()));

    }

    return Integer.valueOf(this.type).compareTo(Integer.valueOf(((Tree)arg0).getType()));

  }

 

public boolean equals(Object arg0)

  {

    if (arg0 == null) {

      return false;

    }

    MenuFolder po = (MenuFolder)arg0;

    return this.id.equals(po.getId());

  }

  //标准的写法是重写equals一定要重写hashcode方法,因为equals相等hashcode一定要相等(这是规范,牵涉到用一些数据结构时的内部判断),反之不一定可以不管

  public int hashCode()

  {

    return this.id.hashCode();

  }

 

 

打印对象时 

      System.out.println必须实现toString方法

public class BasAreaBeanVo implements Serializable {

private static final long serialVersionUID = 1L;

 

private String areaKey;

public String toString(){

return ToStringBuilder.reflectionToString(this);

}

}

0 0