ラッパークラスとは - 萌えJava超入門
第二十章 ラッパークラスで
文字列を数値に変換する

ラッパークラスとは

すべてのプリミティブ型には、それぞれに対応する
ラッパークラスが用意されています


目次

1.ラッパークラス


以下の表のように、プリミティブ型のデータ型には、それぞれに対応する
ラッパークラスと呼ばれるクラスがあります。

ラッパークラスの一覧だ。
クラス名は、最初の文字が
大文字になっただけのも多い。
ラッパークラスの一覧
プリミティブ型ラッパークラス
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

ラッパークラスは、それぞれに対応するプリミティブ型の値を引数にして、
インスタンスを生成して使用します。
生成されたインスタンスは、対応するプリミティブ型と相互に自動変換できる
「オートボクシング」、「オートアンボクシング」という機能により、
プリミティブ型のように振舞います。(後述)
これに加えて、ラッパークラスにはプリミティブ型にはない便利なメソッドが用意されています。



2.ラッパークラスのインスタンス化


引数に対応するプリミティブ型を与えてインスタンス化します。
「オートボクシング」を利用する方法は次のページで紹介させていただきます。

ちなみにラッパークラスの変数は
objectの「o」を加えることが多いぞ。
Byte のインスタンス化
  byte byt;
  Byte obyt = new Byte(byt);

Short のインスタンス化
  short s;
  Short os = new Short(s);

Integer のインスタンス化
  int i;
  Integer oi = new Integer(i);

Long のインスタンス化
  long l;
  Long ol = new Long(l);

Float のインスタンス化
  float f;
  Float of = new Float(f);

Double のインスタンス化
  double d;
  Double od = new Double(d);

Boolean のインスタンス化
  boolean boo;
  Boolean oboo = new Boolean(boo);

ラッパークラスは
プリミティブ型には無い
便利なメソッドを使える。
そのメソッドが
使いたいわけっスね。


3.インスタンスから値を得る


値を得るには、xxxValue メソッドを使用します。
「オートアンボクシング」を利用する方法は次のページで紹介させていただきます。

簡単だけど
めんどくさいっスね。
byteValueメソッド
  Byte obyt;
  byte byt = obyt.byteValue();

shortValueメソッド
  Short os;
  short s = os.shortValue();

intValueメソッド
  Integer oi;
  int i = oi.intValue();

longValueメソッド
  Long ol;
  long l = ol.longValue();

floatValueメソッド
  Float of;
  float f = of.floatValue();

doubleValueメソッド
  Double od;
  double d = od.doubleValue();

booleanValueメソッド
  Boolean oboo;
  boolean boo = oboo.booleanValue();

次のページで
楽なコードを紹介するから。
ちょっと待って。


4.ラッパークラス使用例


xxxValueメソッドの名前が
それぞれ違うことに注意してくれ。
//Sample20_04.java
class Sample20_04{

    public static void main(String[] args){

      byte byt = 54;
      Byte obyt = new Byte (byt);
      System.out.println(obyt.byteValue());

      short s = 1260;
      Short os = new Short (s);
      System.out.println(os.shortValue());

      int i = 9980;
      Integer oi = new Integer (i);
      System.out.println(oi.intValue());

      long l = 112980;
      Long ol = new Long (l);
      System.out.println(ol.longValue());

      float f = 7.25f;
      Float of = new Float (f);
      System.out.println(of.floatValue());

      double d = 19800.5;
      Double od = new Double (d);
      System.out.println(od.doubleValue());

      char c = 'A';
      Character oc = new Character (c);
      System.out.println(oc.charValue());

      boolean boo = true;
      Boolean oboo = new Boolean (boo);
      System.out.println(oboo.booleanValue());

    }
}

コマンドライン
ws>cd ws
ws>javac Sample20_04.java
ws>java Sample20_04
54
1260
9980
112980
7.25
19800.5
A
true


めんどくさい以外は
問題ないっす。


お疲れ様でした。




© 2019 awasekagami