Страницы

Поиск по вопросам

четверг, 2 мая 2019 г.

Сравнить Object и Int

Как сравнить Object и Int.
Object может быть (примитивные типы) 1.byte 2.int 3.long 4.double (чем оно может быть заранее известно)
При сравнении выскакивают исключения(нельзя сравнить Int и Long). Как это можно реализовать без приведений к String.


Ответ

Если я правильно понял ваш вопрос, то как-то так (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(); } }

Комментариев нет:

Отправить комментарий