- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!SJC-P オートボクシング
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/autoboxing.html
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.7
!!ボックス変換
ボックス変換は、プリミティブ型の値を一致する参照型に変換する。特に、以下の8つの変換をボックス変換と呼ぶ。
,プリミティブ型から,参照型へ
,boolean ,Boolean
,byte ,Byte
,char ,Character
,short ,Short
,int ,Integer
,long ,Long
,float ,Float
,double ,Double
!!実行時の処理
実行時、ボックス変換は、以下のような処理を行う。
*p が、boolean型の場合、r.booleanValue() == p となるようなBoolean型 r に変換する。
*p が、byte型の場合、r.byteValue() == p となるようなByte型 r に変換する。
*p が、char型の場合、r.charValue() == p となるようなCharacter型 r に変換する。
*p が、short型の場合、r.shortValue() == p となるようなShort型 r に変換する。
*p が、int型の場合、r.intValue() == p となるようなInteger型 r に変換する。
*p が、long型の場合、r.longValue() == p となるようなLong型 r に変換する。
*p が、float型の場合
**pが、NaNでない場合、r.floatValue() が p と評価されるようなFloat型 r に変換する。
**そうではない場合(NaN)、r.isNaN() が true と評価されるようなFloat型 r に変換する。
*p が、double型の場合
**pが、NaNでない場合、r.doubleValue() が p と評価されるようなDouble型 r に変換する。
**そうではない場合(NaN)、r.isNaN() が true と評価されるようなDouble型 r に変換する。
*もし、p がその他の型の場合、ボックス変換は、[identity conversion (5.1.1)|http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.1] と等しくなる。
*もし、p がその他の型の場合、ボックス変換は、[恒等変換 (5.1.1)|http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.1] と等しくなる。
If the value p being boxed is true, false, a byte, a char in the range \u0000 to \u007f, or an int or short number between -128 and 127, then let r1 and r2 be the results of any two boxing conversions of p. It is always the case that r1 == r2.
'''r1、r2について、pの値を、true, false, byte, char(\u0000 から \u007f), int もしくは short (-128 and 127) にボックス化したものである場合、r1 == r2 の結果はいつも等しくなる。'''
----
{{amazon 4822282775}}
----
{{include_html banner_html, "!SJC-P"}}