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


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

  • оба типы совместимы;
  • длина целевого типа больше длины исходного типа.

При соблюдении этих двух условий выполняется преобразование с расширением. Например, тип int всегда достаточно велик, чтобы хранить все допустимые значения типа byte, поэтому никакие операторы явного приведения типа не требуются. С точки зрения преобразования с расширением числовые типы, среди которых целочисленный и с плавающей точкой, совместимы друг с другом. Однако не существует автоматических преобразований числовых типов в char или boolean. Типы char и boolean также не совместимы и между собой.

Как уже говорилось ранее, Java выполняет автоматическое преобразование типов при сохранении целочисленной константы в переменных типа byte, short, long или char.