トップ 差分 一覧 ping ソース 検索 ヘルプ PDF 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 がその他の型の場合、ボックス変換は、恒等変換 (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 の結果はいつも等しくなる。





指定されたパートは存在しません。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.