gpt4 book ai didi

java - Java 中比较版本的最简洁方法

转载 作者:行者123 更新时间:2023-12-01 17:41:13 27 4
gpt4 key购买 nike

假设我有一个 major.minor.patch 形式的版本,例如1.2.3,我想将其与另一个版本 1.1.5 进行比较,因为 2 > 1 第一个版本大于第二个版本。如何为 class Version 编写最简洁高效的比较函数:

class Version implements Comparable<Version> {

int major
int minor
int patch

@Override
int compareTo(Version otherVersion) {
// ... TODO
}
}

答案可以是 JavaGroovy

最佳答案

我建议为您的三个字段添加 setter/getter ,然后使用链式比较函数添加一个Comparator。就像,

public int getMajor() {
return major;
}

public int getMinor() {
return minor;
}

public int getPatch() {
return patch;
}

private static final Comparator<Version> COMP = Comparator
.comparingInt(Version::getMajor)
.thenComparingInt(Version::getMinor)
.thenComparingInt(Version::getPatch);

@Override
public int compareTo(Version otherVersion) {
return COMP.compare(this, otherVersion);
}

关于java - Java 中比较版本的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60909262/

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