compareTo equals toString 起作用机时
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);
}
}