gpt4 book ai didi

java - 否定比较链

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:37 25 4
gpt4 key购买 nike

我写了类似的东西

@Override public int compareTo(Cuboid that) {
return -ComparisonChain.start()
.compare(this.d0, that.d0)
.compare(this.d1, that.d1)
.compare(this.d2, that.d2)
.result();
}

为了颠倒顺序,我简单地否定了结果,但现在我看到文档说的是错误的

Ends this comparison chain and returns its result: a value having the same sign as the first nonzero comparison result in the chain, or zero if every result was zero.

因此 Integer.MIN_VALUE 是允许的返回值,然后求反失败。在源代码中,我可以看到只返回 -1、0 和 +1,但这不是我想要依赖的东西。

我可以交换所有操作数而不是否定。简单而丑陋,但我很好奇是否有更好的解决方案。

最佳答案

一个可能比反转compare 参数更清楚的选择是将每对参数与其自然顺序的相反顺序进行比较:

.compare(this.d0, that.d0, Ordering.natural().reverse())

关于java - 否定比较链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25374467/

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