Java 对照其他对象值检查当前对象值的值

Java 对照其他对象值检查当前对象值的值,java,Java,我正在尝试删除一个属性中具有相同值的所有重复对象。我有courses[]对象,它们都包含一个courseLevel,它由一个四位整数组成 我在循环中从0递增x,并在循环的每次迭代中存储数据和重置数据,以在下一个递增的courses[x]对象中存储新信息 for (int n = 0; n < courses.length; n++) { if (courses[x].getCourseLevel() == courses[n].getCourseLe

我正在尝试删除一个属性中具有相同值的所有重复对象。我有
courses[]
对象,它们都包含一个
courseLevel
,它由一个四位
整数组成

我在循环中从
0
递增
x
,并在循环的每次迭代中存储数据和重置数据,以在下一个递增的
courses[x]
对象中存储新信息

        for (int n = 0; n < courses.length; n++) {
            if (courses[x].getCourseLevel() == courses[n].getCourseLevel()) {
                System.out.println("Duplicate" + courses[x]);
            }  
         }
for(int n=0;n
如您所见,我从
courses[x]
开始,想检查它的
courseLevel
是否与创建到该点的任何其他对象相等,但问题是它检查自己,我如何检查所有
courses[n]
除了
courses[x]

尝试使用equals(),但无法比较int类型。

for(int n=0;nfor (int n = 0; n < courses.length; n++) {
        if ((courses[x].getCourseLevel() == courses[n].getCourseLevel()) && x != n) {
            System.out.println("Duplicate" + courses[x]);
        }  
     }
如果((课程[x].getCourseLevel()==课程[n].getCourseLevel())&&x!=n){ System.out.println(“重复”+课程[x]); } }
您可以尝试
和&x!=n
更简单的方法是重写
equals()
hashCode()
方法,然后将所有对象放在
集中,只获取唯一的对象。我确实尝试过。我将所有对象添加到一个列表中。然后添加到一个集合并返回到列表中。然后,我按课程级别(升序)对它们进行排序。但我仍然有DUP。如果您使用的是Java 8,则可以使用来自的方法。只需将数组转换为流:Arrays.stream(courses)。