Java

ValueObject

值对象的基类,提供了 {@code equals}、{@code hashCode} 和 {@code compareTo} 方法的实现。通过反射比较对象的所有声明字段。{@code compareTo} 按字段顺序比较,第一个不相等的字段决定排序结果;{@code equals} 要求所有字段相等;{@code hashCode} 使用交替乘数计算哈希值。
  • Type class
  • Package: com.euonia.domain
  • Author: damon(zhaorong@outlook.com)
  • Implements: Comparable<T>

Type Parameters

Parameter Bound Description
T ValueObject<T> 值对象的类型

Methods

compareTo

按字段顺序比较两个值对象。第一个不相等的字段决定排序结果;null 值在前,非 null 值在后。
  • Parameters:
  • other (T): 要比较的另一个值对象
  • Returns: int - 比较结果(负值表示小于,0 表示等于,正值表示大于)

equals

比较两个值对象是否相等。要求所有字段相等才返回 true。
  • Parameters:
  • obj (T): 要比较的值对象
  • Returns: boolean - 如果所有字段相等则为 true

hashCode

使用交替乘数(31、59、114)计算哈希值,确保不同字段组合产生不同的哈希。
  • Returns: int - 基于所有字段计算的哈希值