Comparator - int cannot be dereferenced

后端 未结 3 1442
滥情空心
滥情空心 2021-01-25 14:24

So I saw an example on here how to sort an ArrayList using the Comparator interface, so I tried it out. With Strings it worked perfectly, but with one variable that I want to so

3条回答
  •  爱一瞬间的悲伤
    2021-01-25 14:51

    You can't call methods on ints; there's no compareTo method to call. That would be on the boxed Integer type, but boxing would be overkill.

    If you're on Java 7+, you should write

    return Integer.compare(o1.getScore(), o2.getScore());
    

    ...otherwise you'll more or less need to write

    if (o1.getScore() < o2.getScore()) {
       return -1;
    } else if (o1.getScore() > o2.getScore()) {
       return 1;
    } else {
       return 0;
    }
    

提交回复
热议问题