13.対象パッケージと自動梱包


紹介する
すなわちintのような基本タイプをオブジェクトに変換する必要がある場合があり、Javaには各基本タイプに対応するクラスがあり、これらのクラスはパッケージ(warpper)となる
  • は、(最初の6つのNumberに属するスーパークラス)を含む.
  • Integer、Long、Short、Byte
  • Float、Double
  • Character
  • Void
  • Boolean

  • 注意
  • .これらのクラスは、いったん構築すると、その値
  • を変更できないほど可変である.
  • 2.これらのクラスはfinalなので、
  • を継承できません.

    自動梱包と解体
    包装類の使用を容易にするため、自動梱包と取り外し機能を提供しています
  • シーン
  • 1.ArrayListの直接list.add(3)は、実はlist.add(Integer.valueOf(3))の自動梱包
  • である.
  • 2.int n = list.get(i)int n = list.get(i).intValue()の自動解体箱
  • である.
  • 3.演算式では、例えばInteger n=3が定義されている.そしてn+、これが自動梱包解体
  • である.
  • 注意:
  • 1.比較時にequalsを呼び出すのが良い、そうでなければ結果は確定しない
  • 2.オブジェクトであるためnullとなる可能性があり、空の異常
  • を投げ出す.
  • 3.条件式にIntegerとDoubleが混ざっていると、Integerは自動的にボックスを取り外し、Doubleタイプの
  • に梱包されます.
  • 4.梱包と解体はコンパイラ内で処理され、仮想マシンに関係なく、すなわちコンパイラがバイトコードを生成すると自動的に解体して処理されたバイトコードとして実行される.