Главная » Java » Явное преобразование типов Java

0

 

Если значение одного типа не может быть косвенно присвоено переменной другого типа, используется оператор явного преобразования типов (type casting) – обычно для перехода к более узкому типу. При выполнении преобразования требуется обеспечить наилучшую возможную форму представления значения исходного типа в новом типе. В некоторых случаях преобразования принципиально недопустимы – например, значение типа boolean не может быть Присвоено переменной типа int ни при каких обстоятельствах, – но в других, когда типы обладают известной степенью "родства", вполне возможны:

 

doublе d = 7.99;

 long l = (long)d;

 

При преобразовании числа с плавающей запятой в целое дробная часть исходного значения отбрасывается (например, (int)-72.3 равно -72). В классах Math и StrictMath реализованы дополнительные методы, которые обеспечивают другие способы преобразования чисел с плавающей запятой в целые. За подробностями обращайтесь к разделу 17.6 на странице 491.

 

Тип doublе допускает явное преобразование в float точно таким же образом, как и широкие целые типы – в более узкие целые типы.

class CharCast {

 

            public static void main(String[] args) {

 

                        int i = ‘\uffff‘;

 

                        short s = (short) ‘uffff‘;

 

           

                        System.out.println(“i = “ + i);

 

                        System.out.println(“s = “ + s);

 

            }

 

}

 

 

Так Выглядит результат работы программы:

 i = 65535

s = -1

 

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии