#java #преобразование_типов
Есть такой код
int i = 300;
byte b = (byte)i;
Можно ли как-то его заставить генерировать исключение при обнаружении, что i не помещается
в байт? Или только так?
int i = 300;
if (i < Byte.MIN_VALUE || i > Byte.MAX_VALUE)
throw new ArithmeticException();
byte b = (byte)i;
Ответы
Ответ 1
Суть та же, но на мой взгляд покрасивее, хотя и менее понятно =) Имя метода взял по подобию Math.toIntExact(long) byte toByteExact(int i){ byte b = (byte)i; if (i != b) throw new ArithmeticException(); else return b; }
Комментариев нет:
Отправить комментарий