キャスト

int値を long値に代入することは可能ですが、int値を short値に代入しようとするとコンパイルエラーになります。これは、int → short の代入では、値のオーバーフローが発生してしまう可能性があるためです。

int intValue = 123;
long longValue = intValue;
short shortValue = intValue; ←コンパイルエラー

この問題を解決するには、int値を明示的に short値に変換してから代入します。これを、「short にキャストする」と言います。

short shortValue = (short)intValue;