2015-05-19 119 views
0

是否可以比較Java中的兩個具體對象並使用命令操作數(=,<,>,> =,< =)得到布爾值?Java中的對象之間的比較

布爾結果= objectA < objectB?

Being objectA and objectB concrete classes, not instances from Object.

回答

0

號你要實施Comparable(或創建一個Comparator),並使用compareTo(Object o)方法。

由於Java沒有運算符重載,因此不能使用除=之外的對象的運算符來測試引用相等性,而使用+來表示字符串連接速記。

+0

從技術上講,你不*使用Comparable或Comparator。 – immibis

+0

嗯,你是正確的*技術*。 – Kayaman

+0

感謝您的快速回答! – Tincho

2

不可以。內置運營商無法超載(包括<><=等)。有些語言具有此功能,但Java不支持。

你必須使用一種方法。例如。您可以創建一個isLessThan方法,並調用它來查看一個對象是否比另一個更小。

標準的事情是實現內置接口Comparable。諸如TreeSet(需要比較對象的內置類)不知道您的isLessThan方法,但他們確實知道關於Comparable

+0

感謝您的回答! – Tincho