トップ 一覧 ping 検索 ヘルプ RSS ログイン

SJC-P オートボクシングの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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"}}