用“比较”比较两个对象<&引用;或&燃气轮机&引用;Java中的运算符
如何使用“”使Java中的两个对象具有可比性 e、 g用“比较”比较两个对象<&引用;或&燃气轮机&引用;Java中的运算符,java,object,operator-overloading,comparable,Java,Object,Operator Overloading,Comparable,如何使用“”使Java中的两个对象具有可比性 e、 g 唯一的方法是?在Java中不能执行运算符重载。这意味着您无法为操作符定义自定义行为,例如+,,使用是唯一的选项(或)。接口仅定义了一个方法(而Comparator添加equals),并将此对象与指定的对象进行比较以获得顺序。此外,Java不允许运算符重载(因此您不能直接更改用于调用该方法的操作数;或者实际上修改接口)。这不是唯一的方法。您还可以实现一个比较器。比较器使用compare()方法,与使用compareTo()方法的Compara
唯一的方法是?在Java中不能执行运算符重载。这意味着您无法为操作符定义自定义行为,例如
+
,
,使用是唯一的选项(或)。接口仅定义了一个方法(而Comparator
添加equals
),并将此对象与指定的对象进行比较以获得顺序。此外,Java不允许运算符重载(因此您不能直接更改用于调用该方法的操作数;或者实际上修改接口)。这不是唯一的方法。您还可以实现一个比较器。比较器使用compare()
方法,与使用compareTo()
方法的Comparable
相反
你不能使用
或的原因是[compareTo
]是唯一的方法吗?是的。你不能在Java中重载
运算符。在C中,你可以重载这样的运算符。你不能与
进行比较。compareTo
不是唯一的方法——你可以定义小于,大于
,等等。如果需要,返回布尔值的方法。有争议的是,它们比compareTo
更具可读性。还有Comparator
@Makoto提供了两种方法(并且仍然不允许运算符重载),但这是一个公平的观点,因为从技术上讲,它是另一种选择。我只是从“其他选项”的角度来看它
MyObject<String> obj1= new MyObject<String>(“blablabla”, 25);
MyObject<String> obj2= new MyObject<String>(“nannaanana”, 17);
if (obj1 > obj2)
do something.
if(obj1.compareTo(obj2) > 0)
do something
boolean isGreaterThan(MyObject<T> that) {
return this.compareTo(that) > 0;
}
boolean isLessThan(MyObject<T> that) {
return this.compareTo(that) < 0;
}
if (obj1.isGreaterThan(obj2)) {
// do something
}