当前位置: 首页 > 知识库问答 >
问题:

Collections.Sort使用Comparable时出错,Java

宇文鸿振
2023-03-14
public class Pootis
{
public static void main(String[] args)
{   
    Superhero batman = new Superhero("Bruce", 26, "Batman");
    Human rachel = new Human("Rachel", 24);
    Superhero ironman = new Superhero("Tony", 35, "Ironman");
    Human pepper = new Human("Pepper", 22);



    List<Human> people = new ArrayList<>();
    people.add(batman);
    people.add(rachel);
    people.add(ironman);
    people.add(pepper);

    Collections.sort(people);//<-----
    }
}
java prettyprint-override">public class Human implements Comparable<Human> {
private int age;
private String name;

public Human(String givenName, int age) {
    this.name = givenName;
    this.age = age;
}
@Override
public int compareTo(Human other){
    if(getAge() > other.getAge()){
        return 1;
    }
    else if(getAge() < other.getAge()){
        return -1;
    }
    return 0;
}


public String getName() {
    return name;
}

public int getAge() {
    return age;
}


}

这是超级英雄班:

public class Superhero {
String alterEgo, name;
int age;

public Superhero(String givenName, int age, String alterEgo) {
    super();
    this.alterEgo = alterEgo;
    this.name = givenName;
    this.age = age;
}

public String getAlterEgo() {
    return alterEgo;
}
public String introduce() {
    return "Hey! I'm " + name + " and I'm " + age + " years old. I'm also known as" + alterEgo + "!";
}
}

共有2个答案

钮长恨
2023-03-14
热门标签
施琦
2023-03-14
相关问题
 类似资料:
  • 我得到一个错误-“错误:找不到适合排序(ArrayList)的方法。我如何修复这个问题? 多谢了。

  • 问题内容: 我试图根据类A的int排序类B中名为BinOrder的类型A的列表。 但是我收到此错误行Collections.sort(BinOrder); A类: B级: 问题答案: 为了能够使用单参数版本上的,应该实现的接口:

  • 我有一个Employee类,它有如下3个字段。 为此,我希望根据员工姓名(empName)排序,如果多个员工的姓名相同,则根据员工id(empId)排序。 为此,我编写了一个自定义比较器,使用java.util.比较器如下所示。 我已经创建了8个Employee对象并添加到ArrayList中,如下所示。 并使用上述比较器对列表进行如下排序。 它工作得非常好。但这可以使用类似的方法来完成,如下所示

  • 我最近在eclipse上使用java中的openCV,正在开发一个眼球跟踪软件,我正在使用其他人创建的基本代码,并计划对其进行tweek,但在几行代码中出现错误,无法找出原因。这是全班同学 错误从这里开始,错误代码为:“构造函数大小(double,double,int,int,Scalar)未定义” 然后在ellipse这里我得到一个错误:“类型核中的方法ellipse(Mat,RotatedRe

  • 问题内容: 因此,我在Google上搜索了几分钟如何使用计时器,并在此处找到了一些有用的线程。但是,当我想使用建议的代码时,Eclipse总是向我显示错误。 这是我现在要使用的代码。Eclipse在最后一行下划线,并在它们建议“删除参数以匹配’Timer()’”时加下划线。此外,它强调了start()并希望将其强制转换。:S 有人可以帮我吗?我已经安装了最新的Java版本^^ 多谢。 问题答案:

  • 问题内容: 我的代码- 错误- > 警告:mysql_real_escape_string()[function.mysql-real-escape-string]:在C:\ xampp \ htdocs \ shizin \ admin \中拒绝访问用户’ODBC’@’localhost’(使用密码:NO)第48行的newArticle.php 警告:mysql_real_escape_stri