Klasy wrapperów - dlaczego literały całkowite zawodzą dla Longa, ale działają dla wszystkiego mniejszego

Po prostu próbuję zrozumieć auto-boxing, który robię poza jedną rzeczą:

Short s = 250;
Long l = 250;

Przypisanie doLong l zawodzi. Oczekuję, że to dlatego, że nie możesz poszerzyć pola (tzn. Próbuje ono poszerzyćint wartość250 do along a następnie zapakuj to, czego nie może zrobić).

Jednak przypisanie doShort s Prace. Co się dzieje, aby to dobrze? Moje założenie było takie, że wciąż robi boks i jakiś rodzaj konwersji. Ale jeśli to przypadek, to wie250 pasuje doshort, dlaczego tego nie wie250 zmieści się wlong?

questionAnswers(2)

yourAnswerToTheQuestion