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