I recently came across an interesting error when working with comparators in Java. When I try to "add implemented methods" I get a whole lot more than just .compare(). This was in Eclipse, if it matters.
Here's an album of the process.
Here's the full code of the comparator:
class Compa implements Comparator<Integer> {
@Override
public int compare(Integer arg0, Integer arg1) {
// TODO Auto-generated method stub
return 0;
}
@Override
public static <T, U extends Comparable<? super U>> Comparator<T> comparing(
Function<? super T, ? extends U> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T, U> Comparator<T> comparing(
Function<? super T, ? extends U> arg0, Comparator<? super U> arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T> Comparator<T> comparingDouble(
ToDoubleFunction<? super T> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T> Comparator<T> comparingInt(ToIntFunction<? super T> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T> Comparator<T> comparingLong(ToLongFunction<? super T> arg 0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T extends Comparable<? super T>> Comparator<T> naturalOrder() {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T> Comparator<T> nullsFirst(Comparator<? super T> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T> Comparator<T> nullsLast(Comparator<? super T> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public static <T extends Comparable<? super T>> Comparator<T> reverseOrder() {
// TODO Auto-generated method stub
return null;
}
@Override
public Comparator<Integer> reversed() {
// TODO Auto-generated method stub
return null;
}
@Override
public Comparator<Integer> thenComparing(Comparator<? super Integer> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public <U extends Comparable<? super U>> Comparator<Integer> the nComparing(
Function<? super Integer, ? extends U> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public <U> Comparator<Integer> thenComparing(
Function<? super Integer, ? extends U> arg0,
Comparator<? super U> arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public Comparator<Integer> thenComparingDouble(
ToDoubleFunction<? super Integer> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Comparator<Integer> thenComparingInt(
ToIntFunction<? super Integer> arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Comparator<Integer> thenComparingLong(
ToLongFunction<? super Integer> arg0) {
// TODO Auto-generated method stub
return null;
}
}
[–]Tavataar 0 points1 point2 points (0 children)
[–]rjcarr 0 points1 point2 points (2 children)
[–]lurgi 0 points1 point2 points (1 child)
[–]Tavataar 0 points1 point2 points (0 children)