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コンパイルも行います。コンパイル時定数をキャストしようとしていて、キャストが影響しないためですか?