Java: ¿Por qué no puedo enviar int a Long

Se supone que todos los números en Java son de tipo int. La siguiente línea es legal en Java> 1.5

Short s = 1; // Will compile to Short s = Short.valueOf((short)1) - thus you can't exceed short max value i.e.
Short s =  4444; // is invalid for autoboxing

a misma mecánica de @ apuesta porInteger yByte instanciación. Pero Long funciona completamente diferente. El siguiente código da error de tiempo de compilación

Long l = 10;

Long utiliza el mismo enfoque para el autoboxing de tipos largos, por lo que

Long l = 10L; //is valid and is translated into Long.valueOf(10L)

No puedo ver por qué int no se puede asignar a una variable Long. ¿Alguna idea sobre este asunto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta