|
|||||||||
| Home >> All >> java >> [ lang overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang
Interface Comparable

- All Known Implementing Classes:
- Boolean, Byte, Character, Double, Enum, Float, Integer, Long, Short, String
- public interface Comparable
Interface for objects that can be ordering among other objects. The ordering can be total, such that two objects only compare equal if they are also equal by the equals method, or partial such that this is not necessarily true. For example, a case-sensitive dictionary order comparison of Strings is total, but if it is case-insensitive it is partial, because "abc" and "ABC" compare as equal even though "abc".equals("ABC") returns false. However, if you use a partial ordering, it is a good idea to document your class as "inconsistent with equals", because the behavior of your class in a SortedMap will be different than in a HashMap.
Lists, arrays, and sets of objects that implement this interface can
be sorted automatically, without the need for an explicit
java.util.Comparator. Note that e1.compareTo(null)
should throw an Exception; as should comparison between incompatible
classes.
- Since:
- 1.2
| Method Summary | |
int |
compareTo(Object o)
Compares this object with another, and returns a numerical result based on the comparison. |
| Method Detail |
compareTo
public int compareTo(Object o)
- Compares this object with another, and returns a numerical result based
on the comparison. If the result is negative, this object sorts less
than the other; if 0, the two are equal, and if positive, this object
sorts greater than the other. To translate this into boolean, simply
perform
o1.compareTo(o2) <op> 0, where op is one of <, <=, =, !=, >, or >=.You must make sure that the comparison is mutual, ie.
sgn(x.compareTo(y)) == -sgn(y.compareTo(x))(where sgn() is defined as -1, 0, or 1 based on the sign). This includes throwing an exception in either direction if the two are not comparable; hence,compareTo(null)should always throw an Exception.You should also ensure transitivity, in two forms:
x.compareTo(y) > 0 && y.compareTo(z) > 0impliesx.compareTo(z) > 0; andx.compareTo(y) == 0impliesx.compareTo(z) == y.compareTo(z).
|
|||||||||
| Home >> All >> java >> [ lang overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC