Akshit Gupta Ответов: 1

Преобразование типов Java


У меня есть код для преобразования типов данных в Java.. Я ожидаю, что код будет через ошибку, но он не бросает.. Исключение, которое я ожидаю, не может быть преобразовано в исключение типа во время выполнения.. Вот этот код..

class Abc {

    public static void main(String args[] ) throws Exception {

        try{
            short s = 24000;
            byte b = (byte) s;
            System.out.println(b);
        }

        catch(Exception e){
            System.out.println("Bad Conversion!");
            e.printStackTrace();
        }
    }
}


Есть ли какое-либо исключение, чтобы предотвратить этот тип преобразования, так как байт не может быть инициализирован значением 24000, так как он находится вне диапазона.. То, что я получаю на своей консоли, это "-64"

Что я уже пробовал:

Я попытался поймать исключение для преобразования типов в Java..

1 Ответов

Рейтинг:
8

Jochen Arndt

Вы явно приводите значение. Это говорит компилятору, что вы (надеюсь) знаете, что делаете, и пропускаете любые проверки вне диапазона. Это будет для вашего примера просто назначить Нижний байт short.

Стоимость 24000 знаков после десятичного разделителя 5DC0 наговор. Нижний байт-это шестнадцатеричный код C0, который является десятичным числом -64, потому что byte это знаковый тип.