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 がその他の型の場合、ボックス変換は、恒等変換 (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 の結果はいつも等しくなる。
{{include_html banner_html, "!SJC-P"}}
© 2006 矢木浩人