重複の可能性:
Eclipseのバグ?ショートはショートではないのはいつですか?
short
Javaでは、次のようにまたはbyte
内部ブロックを割り当てることができます。
short s = 20000;
byte b = 120;
20000はshort
値であり、120は値byte
であるため、次のことを試してみてください。
short s = 67000;
byte b = 128;
どこint
からでもコンパイルできないというエラーが表示されますbyte
byte b = (byte)12232;
値が失われる可能性があるという警告もトリガーされません。関数呼び出しでは、とにかくそれをキャストすることを余儀なくされています:
void test(short s){}
test(1) //invalid
test((short)1) //valid
タイプにある間、return
それは再び大丈夫です。
short test(){
return 1; //valid
}
コンパイラが(少なくとも定数から)数値の境界を知ることを時々考えているのに、他の場所ではそれを忘れているように見えるのはなぜですか?