#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(); } }
Комментариев нет:
Отправить комментарий