【发布时间】:2018-03-07 12:00:18
【问题描述】:
我正在练习比较器和接口,但我很难使用它。如果列表按升序排列,我正在尝试创建一个返回 true 的布尔方法。
但由于某种原因,如果我使用 Collections.sort 会出现错误。
我的代码中究竟遗漏了什么,为什么它不起作用?
代码如下:
构造函数
public class Stijgen implements RijtjesControle{
private int nummer;
public Stijgen(int nummer) {
this.nummer = nummer;
}
public int getNummer() {
return nummer;
}
主要
public static void main(String[] args) {
List<Stijgen> rijtje = new ArrayList<Stijgen>();
rijtje.add(new Stijgen(4){});
rijtje.add(new Stijgen(7){});
rijtje.add(new Stijgen(1){});
rijtje.add(new Stijgen(9){});
rijtje.add(new Stijgen(3){});
System.out.println("Eerst de getallen op een rijtje zoals het nu is:");
for (Stijgen rijtje1 : rijtje) {
System.out.println(rijtje1.getNummer());
}
System.out.println("Nu gesorteed op stijgende volgorde");
Collections.sort(rijtje);
for (Stijgen rijtje1 : rijtje) {
System.out.println(rijtje1);
}
}
@Override
public <Stijgen extends Comparable<Stijgen>> boolean isStijgend(List<Stijgen> rijtje) {
Iterator<Stijgen> iter = rijtje.iterator();
if(!iter.hasNext()){
return true;
}
Stijgen stijgen = iter.next();
while(iter.hasNext()){
Stijgen stijgen1 = iter.next();
if(stijgen.compareTo(stijgen1) > 0){
return false;
}
stijgen = stijgen1;
}
return true;
}
}
【问题讨论】:
-
错误是什么?
-
欢迎来到 Stack Overflow!请使用tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。- 请将您的示例代码设为Minimal, Complete, and Verifiable example
标签: java list comparator