Преобразование из примитива Java в классы-оболочки

Я озадачен поведением компилятора Java при назначении примитивов ссылкам на классы-оболочки. Пожалуйста, смотрите код ниже. Строки с комментариями не компилируются.

Я не понимаю логику почему:

a byte может быть назначен наByte или жеShort, но нетInteger или жеLong ссылкаa short может быть назначен наByte или жеShort, но нетInteger или жеLong ссылкаint может быть назначен наByte, Short, или жеInteger, но нетLong ссылкаa long может быть назначен наLong, но нетByte, Short или жеInteger ссылка

Я не вижу картины. Любое понимание этого будет действительно полезно. Благодарю.

Byte s5 = (byte)7;
Short s6 = (byte)7;
Integer s7 = (byte)7;   // Does not compile
Long s8 = (byte)7;      // Does not compile

Byte s9 = (short)7;
Short s10 = (short)7;
Integer s11 = (short)7; // Does not compile
Long s12 = (short)7;    // Does not compile

Byte s1 = (int)7;
Short s2 = (int)7;
Integer s3 = (int)7;
Long s4 = (int)7;       // Does not compile

Byte s13 = (long)7;     // Does not compile
Short s14 = (long)7;    // Does not compile
Integer s15 = (long)7;  // Does not compile
Long s16 = (long)7;

Ответы на вопрос(3)

Ваш ответ на вопрос