Java позволяет назначать байт java.lang.Short, но не java.lang.Integer
final byte b = 12;
Short s = b;
Integer i = b;
Программа компилируется нормально для Short, но для Integer происходит сбой с сообщением «несовместимые типы».
Мне трудно понять это поведение. Я не мог найти что-нибудь для этого конкретного сценария ..