| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

SJC-P オートボクシング

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

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"}}