@deleted-ITema325

Автоматическое преобразование и явное преобразование типов в JAVA?

Расскажите пожалуйста доступным языком о преобразование типов.
  • Вопрос задан
  • 310 просмотров
Решения вопроса 1
@bromzh
Drugs-driven development
Явное - это когда ты в скобках (либо через вызов методов) преобразуешь переменную одного типа к другому. При этом, не факт, что это преобразование пройдёт и пройдёт правильно.

Автомат - это когда тип, который "больше" участвует в операциях с "меньшими" типами и нужно преобразование. Ява сама сумеет преобразовать, так как данные не теряются.

Пример:
int a = 70000;
short b = 10;
int c = a + b; // Тут b автоматом преобразуется к типу int, так как компилятор знает, 
// что данные из него не потеряются при преобразовании.
short d = (short) (a + b);


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

С классами всё примерно также.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы