Classes de invólucros - por que literais inteiros falham por muito tempo, mas funcionam para qualquer coisa menor

Apenas tentando entender o auto-boxing, o que eu faço além de uma coisa:

Short s = 250;
Long l = 250;

A tarefa deLong l falha. Isso, eu espero, é porque você não pode ampliar, em seguida, caixa (ou seja, ele tenta ampliar oint valor250 para umlong e, em seguida, caixa que ele não pode fazer).

No entanto, a atribuição deShort s trabalho. O que está acontecendo para fazer isso bem? Minha suposição era que ainda está fazendo boxe e algum tipo de conversão. Mas se é um caso disso saber250 se encaixa em umshort, porque não sabe que250 vai caber em umlong?

questionAnswers(2)

yourAnswerToTheQuestion