#java
Как сравнить Object и Int.
Object может быть (примитивные типы)
1.byte
2.int
3.long
4.double
(чем оно может быть заранее известно)
При сравнении выскакивают исключения(нельзя сравнить Int и Long). Как это можно реализовать
без приведений к String.
Ответы
Ответ 1
Если я правильно понял ваш вопрос, то как-то так (ideone): public static int compare(Object lhs, Integer rhs) { if (lhs instanceof Double) { return Double.compare((Double) lhs, rhs); } else if (lhs instanceof Long) { return Long.compare((Long) lhs, rhs); } else if (lhs instanceof Integer) { return Integer.compare((Integer) lhs, rhs); } else if (lhs instanceof Byte) { return Integer.compare(((Byte) lhs).intValue(), rhs); } else { throw new IllegalArgumentException(); } }
Комментариев нет:
Отправить комментарий