gpt4 book ai didi

Java 对象 : value for comparison in if statement, 运算符重载

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:48:15 27 4
gpt4 key购买 nike

是否可以为自定义对象定义用于 if 语句比较的值?

我有:

公共(public)类元素实现 Comparable {

public int value;
public int[] sequence;
public int length;

public element(){}

public element(int val){
this.value = val;
}

@Override
public int compareTo(Object o) {
return
}

我想使用 if 语句如下:

if (element1 > element2) ..

而不是传统的:

if (element1.value > element2.value) ..

我一直无法用比较器、toString() 等来完成这个

最佳答案

您不能将对象引用与 > 一起使用运算符(operator),根据 JLS 15.20.1 ; Java 不支持运算符重载。但是你在使用 Comparator 的正确轨道上.

if (comparator.compare(element1, element2) > 0)  // if (element1 > element2)

如果你的类(class)是Comparable<Element>也是可以的,即与其他元素相比。

if (element1.compareTo(element2) > 0)  // if (element1 > element2)

关于Java 对象 : value for comparison in if statement, 运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15487091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com