Изучаем Java

Вы здесь: Главная >> Java-самоучитель >> Преобразовываем типы данных

Обучающие курсы:

Курс обучения профессии "Программист Java"

Преобразовываем типы данных


Преобразование типов данных

Автоматическое преобразование типов данных происходит в том случае, если мы присваиваем одной переменной значение переменной другого типа, и при этом выполняются следующие условия:

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

 

А вот если вам понадобится преобразовать значение типа long в значение типа short, автоматически этого не произойдет. Данное преобразование приходится осуществлять вручную — это называется сужающим преобразованием.
Чтобы сопоставить такие несовместимые типы, необходимо явно указать операцию приведения типов, например:

long 1 = 111111111;
short s;
s = (short) 1; // Приведение типов.

 

Другая операция, под названием усечение, происходит при присвоении значения с плавающей точкой переменной с целым типом. Скажем, значение 1.11 будет усекаться до значения 1.

Чтобы узнать, совместимы ли два типа данных, необходимо использовать оператор instanceof. Приведу пример его использования — пояснения см. в комментариях (листинг 2.8).

 

Листинг 2.8.
Пример использования оператора instanceof

Type i; Туре2 j;
if (i instanceof Туре2)
// Если тип переменной i совместим с типом данных Туре2, то:
j = (Туре2) i;
// Преобразуем значение i в Туре2.

Искусственно можно преобразовывать значения почти любых типов данных в иные типы данных (например, преобразовать строку в любой тип данных, используя методы, которые предлагает класс String). Для этого необходимо применять методы так называемых классов-оболочек из пакета java.util (подробнее об этом говорится в главе ''Знакомьтесь: пакеты").


Партнеры сайта