J2SE 5.0
J2SE 5.0の新機能の1つであるボクシング変換/アンボクシング変換は,開発だけでなく学習を容易にする可能性を持っていると思うのですが…現状では,混乱を招きかねません.
- ボクシング変換:
- プリミティブ型の定数から参照型への変換:
- ボクシング変換:○
- ワイドニング変換+ボクシング変換:
- ○:byteからShortへの変換
- ×(手動でワイドニング変換すれば回避可能):byteからInteger,Long,Float,Doubleへの変換,shortからInteger,Long,Float,Doubleへの変換,charからInteger,Long,Float,Doubleへの変換,intからLong,Float,Doubleへの変換,longからFloat,Doubleへの変換,floatからDoubleへの変換
- ナローイング変換+ボクシング変換:
- ○:shortからByte,Characterへの変換,charからByte,Shortへの変換,intからByte,Short,Characterへの変換
- ○(ワイドニング変換が起きないようにキャストしなければならない):longからByte,Short,Character,Integerへの変換,floatからByte,Short,Character,Integer,Longへの変換,doubleからByte,Short,Character,Integer,Long,Floatへの変換
- ワイドニングナローイング変換+ボクシング変換:
- ○:byteからCharacterへの変換
- プリミティブ型の変数から参照型への変換:
- ボクシング変換:○
- ワイドニング変換+ボクシング変換:×(手動でワイドニング変換すれば回避可能)
- ナローイング変換+ボクシング変換:○(ワイドニング変換が起きないようにキャストしなければならない)
- ワイドニングナローイング変換+ボクシング変換:○
- プリミティブ型の定数から参照型への変換:
- アンボクシング変換:
- アンボクシング変換:○
- アンボクシング変換+ワイドニング変換:○
- アンボクシング変換+ナローイング変換:×(手動でナローイング変換すれば回避可能)
- アンボクシング変換+ワイドニングナローイング変換:×(手動でワイドニングナローイング変換すれば回避可能)
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6588248
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4995668
2006/01/30
2006/01/25
2005/08/29