Конечно.Вот относительно краткий способ сделать это.
public int compareTo(MyClass other) {
return
a!=other.a ? Integer.compare(a, other.a) :
b!=other.b ? Integer.compare(b, other.b) :
Integer.compare(c, other.c);
}
(Integer.compare
из Java SE 7, но реализация не сложная. Предполагается, что int
fields a
, b
, c
, но, по сути, то же самое для любых типов полей, которые вы можете сравнивать.)