是否可以比较Java中的两个具体对象,并使用顺序操作数(=,<,>,> =,< =)获得布尔值?
boolean result = objectA< objectB?
Being objectA and objectB concrete classes, not instances from Object.
答案 0 :(得分:2)
没有。无法重载内置运算符(包括<
>
<=
等)。有些语言有这个功能,但Java没有。
你必须使用一种方法。例如。你可以创建一个isLessThan
方法,并调用它来查看一个对象是否小于另一个。
要做的标准事情是实现内置接口Comparable
。 TreeSet
(需要比较对象的内置类)之类的内容并不了解您的isLessThan
方法,但他们确实了解Comparable
。
答案 1 :(得分:0)
没有。您必须实施Comparable
(或创建Comparator
)并使用compareTo(Object o)
方法。
由于Java没有运算符重载,因此除了=
之外的对象不能使用运算符来测试引用相等性,而+
用于字符串连接速记。