Java создает короткий объект в Java

Мне было интересно, почему мы можем сделать:

Long l = 2L;
Float f = 2f;
Double d = 2d;

или даже

Double d = new Double(2);

и не

Short s = 2s; //or whatever letter it could be

ни

Short s = new Short(2); //I know in this case 2 is an int but couldn't it be casted internally or something?

Почему мы должны брать конструкторы либо со строкой, либо с коротким.

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

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