`
y806839048
  • 浏览: 1106648 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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);

}

}

分享到:
评论

相关推荐

    c#中ToString()的一些常用用法.pdf

    11. **比较和等于**:`DateTime` 的 `CompareTo()` 和 `Equals()` 方法可用于比较日期时间,如 `dt.CompareTo(dt).ToString()` 输出 `0` 表示两个日期时间相同,而 `dt.Equals("2005-11-6 16:11:04").ToString()` ...

    findbug分析

    **解释**:实现`compareTo()`方法的类同时也使用了`Object.equals()`方法来进行比较,这可能导致不符合`equals()`和`compareTo()`之间的约定,即`x.compareTo(y) == 0`应与`x.equals(y)`一致。 **解决方法**:在...

    sonar检查规则指南

    - **解释**:`equals`方法应该是对称的,即如果`a.equals(b)`为`true`,那么`b.equals(a)`也应该是`true`。此外,当涉及子类时,`equals`方法也应该能够正确地处理。 - **解决方案**:确保实现的`equals`方法满足...

    C#中常用的DataTime方法的总结,包括一些SQL的函数

    dt.CompareTo(dt).ToString(); // 比较两个日期和时间 dt.Equals("2005-11-6 16:11:04").ToString(); // 判断日期和时间是否相等 dt.Equals(dt).ToString(); // 判断两个日期和时间是否相等 dt.GetHashCode()....

    FindBugs错误修改指南

    例如,对于字符串比较,应使用`str.toString().equals(anotherStr)`来确保比较的是字符串内容而非对象引用。 #### IM_BAD_CHECK_FOR_ODD - 负数奇偶性检查错误 **问题描述**: 在检查一个整数是否为奇数时,仅使用`...

    编写一个String类 代码

    字符串的比较是通过`equals(Object obj)`和`compareTo(MyString another)`方法完成的: ```java @Override public boolean equals(Object obj) { if (obj instanceof MyString) { MyString other = (MyString) ...

    C# ToString格式大全

    - 比较和等价性:`CompareTo()`, `Equals()` 和 `GetHashCode()` 方法用于比较和判断两个日期是否相等。 3. **自定义格式** - `DateTime` 类型的 `GetDateTimeFormats()` 方法可以获取系统定义的日期和时间格式...

    第19章编程题提交1

    在Java编程中,`Comparable`接口用于比较对象的顺序,`equals`方法用于判断两个对象是否相等,而`toString`方法则是为了将对象转换为字符串形式,便于打印或输出。在给定的编程题中,`TwoTuple, T2>`是一个泛型类,...

    FindBugs错误分析说明.pdf

    通常情况下,如果需要比较两个对象的内容而不是它们的类型,应该将equals方法的调用修改为调用对象的toString()方法。 2. IM_BAD_CHECK_FOR_ODD Bug: 当检查奇偶数时,如果使用row % 2 == -1来检查负数是否为奇数,...

    eclipse插件FindBugs错误分析说明

    解决方法:将equals方法调用改为使用String的toString方法。 2. IM_BAD_CHECK_FOR_ODDBug 错误描述:检查奇偶性时对于负数无效。 Patternid: IM_BAD_CHECK_FOR_ODD,类型:IM,类别:STYLE。 解释:如果row为负奇数...

    C#读取数据库日期数据

    Console.WriteLine(dt.CompareTo(dt).ToString()); // 0 // 判断日期是否相等 Console.WriteLine(dt.Equals("2005-11-6 16:11:04").ToString()); // False Console.WriteLine(dt.Equals(dt).ToString()); // ...

    c# asp.net日期函数

    - **方法**:`CompareTo`, `Equals` - **功能**:比较两个`DateTime`对象。 - **示例**: ```csharp Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString(); // 比较是否相等 Label2.Text = dt.Equals(dt)....

    C#程序设计-3期(KC008) KC008110100008-如何比较日期时间数据类型.docx

    同时,`DateTime`还提供了`Equals`、`.op_Equality`等方法用于检查两个日期时间是否相等。 总之,理解和熟练掌握C#中比较日期时间的方法对于编写高效、准确的代码至关重要。无论是直接比较还是使用`CompareTo`,都...

    CodeHaggis Eclipse Plugin-开源

    CodeHaggis是一个Eclipse插件,不依赖于其他项目,但支持Java代码生成,具有clone,compareTo,equals,toString,serialVersionUID(类或项目),hashCode,控制台记录器和其他功能。

    eclipse的插件

    描述中提及的"直接生成compareTo(), equals(), hashCode(), toString()代码的插件",是Eclipse插件中一种常见的实用工具,主要用于自动化生成Java对象的比较、等价判断、哈希计算和字符串表示方法。这些方法在Java...

    Java源码解析——看优秀源码最能使人进步

    Java.lang.Integer类是Java语言中的一种基本数据类型,该类的声明、主要属性、构造方法、toString方法、自动拆箱和装箱、equals方法、hashCode方法、parseInt方法、compareTo方法等都会被详细解析。 Java.lang....

    第19章编程题+1

    return Objects.equals(first, other.first) && Objects.equals(second, other.second); } return false; } @Override public String toString() { return "(" + first + ", " + second + ")"; } } ``` 这...

    C_获取当前时间的各种格式

    - **`dt.ToFileTimeUtc().ToString()`**:与上相同,但是返回的是协调世界时(UTC)的文件时间戳。 示例: ```csharp long utcFileTime = DateTime.Now.ToFileTimeUtc(); // 输出类似于 127756704859912816 ``...

    C#日期格式C#日期格式

    ToString()方法是DateTime类型的默认格式化方法,返回的字符串格式为“yyyy-MM-dd HH:mm:ss”。例如: DateTime dt = DateTime.Now; string str = dt.ToString(); // str = "2005-11-05 13:21:25" 2. ToFileTime()...

Global site tag (gtag.js) - Google Analytics