В Java 7 я могу использовать Integer.compare
, но когда я пытаюсь использовать его в Java 6, он дает мне ошибку:
cannot find symbol
symbol : method compare(int,int)
location: class java.lang.Integer
Как создать аналогичную функцию в Java 6?
В Java 7 я могу использовать Integer.compare
, но когда я пытаюсь использовать его в Java 6, он дает мне ошибку:
cannot find symbol
symbol : method compare(int,int)
location: class java.lang.Integer
Как создать аналогичную функцию в Java 6?
Это указано в doc:
Сравнивает два значения int численно. Возвращаемое значение идентично к тому, что будет возвращено:
Integer.valueOf(x).compareTo(Integer.valueOf(y))
Итак, вы можете использовать:
Integer.valueOf(x).compareTo(Integer.valueOf(y))
Как создать аналогичную функцию в Java 6?
Источник открыт, и вы можете найти реализацию здесь.
1020 public static int compare(int x, int y) {
1021 return (x < y) ? -1 : ((x == y) ? 0 : 1);
1022 }
Вы можете использовать реализацию, присутствующую в реализации Java 7
public static int compare(int x, int y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
Для вашего проекта java 6 вы переносите это в класс утилиты и удаляете этот класс после перехода на Java7
Попробуйте следующее:
Integer.valueOf(a).compareTo(Integer.valueOf(b))
public static int compare(int x, int y){
return (x<y)?-1:((x==y)?0:1);
}