gpt4 book ai didi

java - 对 int 类型进行比较

转载 作者:行者123 更新时间:2023-12-02 10:19:30 26 4
gpt4 key购买 nike

我正在尝试将学生编号相互进行比较。但我不知道如何用 2 个 int 类型做到这一点。因此,当您将学生添加到网站时,您无法添加具有相同学生编号的学生。

我尝试将其变成字符串,但这没有帮助。

public int compareTo(Student o) {
if (!(this.getStudentNbr() == (o.getStudentNbr()))) {
return this.getStudentNbr().compareToIgnoreCase(o.getStudentNbr());
}
if (!this.getLastName().equals(o.getLastName())) {
return this.getLastName().compareToIgnoreCase(o.getLastName());
}
if (!this.getFirstName().equals(o.getFirstName())) {
return this.getFirstName().compareToIgnoreCase(o.getFirstName());
}

if (o.getInsertion() != null && this.getInsertion() != null) {
if (!this.getInsertion().equals(o.getInsertion())) {
return this.getInsertion().compareToIgnoreCase(o.getInsertion());
}

} else if (this.getInsertion() == null && o.getInsertion() != null) {
if (!getInsertion().equals(o.getInsertion())) {
return getInsertion().compareToIgnoreCase(o.getInsertion());
}
}
return 0;
}

当我尝试此代码时,您只能添加具有相同 StudentNbr 的学生,但这不好。

有人知道如何比较两个 int 类型吗?

最佳答案

如果res不等于0,您可以使用Integer.compare(x, y)之类的方法来比较返回值:

public class Student implements Comparable<Student> {

private int studentNbr;
private String lastName;
private String firstName;
//...

@Override
public int compareTo(Student student) {
int res = Integer.compare(studentNbr, student.studentNbr);
res = res == 0 ? lastName.compareToIgnoreCase(student.lastName) : res;
res = res == 0 ? firstName.compareToIgnoreCase(student.firstName) : res;
// ...

return res;
}
}

关于java - 对 int 类型进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54445703/

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