byte b=5;
Integer i=(int)b;//b cast to int and int wrapped into Integer
Integer k=(byte)b;//compilation error, cannot convert from byte to Integer
Integer z=(byte)5;//compiles
私の質問は、なぜInteger z=(byte)5
コンパイルInteger k=(byte)b
しないのにコンパイルするのですか? さらに言えばInteger z1 = (byte)5L
、Integer z2 = (byte)5.3F
コンパイルも行います。コンパイル時定数をキャストしようとしていて、キャストが影響しないためですか?