gpt4 book ai didi

Java - 重写 Comparable 的compareTo 方法后无法对用户定义的数组进行排序

转载 作者:行者123 更新时间:2023-12-01 08:06:00 25 4
gpt4 key购买 nike

所以,我只是想测试如何在我自己的类型上使用 compareTo 方法,但无法让它在最简单的情况下工作。我的代码(不言自明)如下(它在用户定义的类型 TestType 下创建一个从 15 -> 1 的“数字”数组。我希望它能够“自然”排序。

public class TestType implements Comparable<TestType> {

public int n;

TestType(int _n) {
n = _n;
}

@Override
public int compareTo(TestType otherType) {
return this.n < otherType.n ? -1 : (this.n > otherType.n ? 1 : 0);
}

public static void main(String[] args){
TestType[] a = new TestType[15];
for(int i = 0; i < 15; i++){
a[i] = new TestType(15 - i);
System.out.println(a[i].n);
}
a.sort();
}
}

如果您知道为什么它不起作用,请告诉我:)。

最佳答案

我认为你应该写Arrays.sort(a);

关于Java - 重写 Comparable 的compareTo 方法后无法对用户定义的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604480/

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