Thinkers'Studio
JavaとC言語の自習ツール
int のラッパークラス Integer を使ってみよう

 Java の8つの基本データ型(char, boolean, byte, short, int, long, float, double)には、それぞれ対応するラッパークラス(Character, Boolean, Byte, Short, Integer, Long, Float, Double )があります。

 ラッパークラスは、基本データ型をくるんで(ラップして)オブジェクトとして扱います。 Java はクラスつまりオブジェクトを基本としていて、オブジェクトでないと扱えない機能もあります。そのような場合にラッパークラスを使います。
 また、ラッパークラスには、ラップしている基本データ型に関するいろいろな機能が定義されており、それらのメソッドを呼び出して使うことができます。

 ここでは、よく使う Integer クラスを取り上げます。
 コンストラクタや valueOf メソッドを使って、Integerクラスのオブジェクトを生成することができます。下はその例です。
    Integer iobj1 = new Integer( 100 );
    Integer iobj2 = new Integer( "200" );          //引数は文字列でも
    Integer iobj3 = Integer.valueOf( 300 );
    Integer iobj4 = Integer.valueOf( "400" );      //引数は文字列でも
 オブジェクト変数を再利用しない場合は、参照を格納せずに使うこともできます。(下記のプログラム参照)。

Integerクラスの使用例 】
 まずプログラムを見てください。データ型を変換するメソッドを 4種類使っています。

class UseInteger {
    public static void main( String[] args ) {
        // String型 --> int型
        System.out.println( Integer.valueOf( "123" ).intValue() );
        // String型 --> int型
        System.out.println( Integer.parseInt( "456" ) );
        // int型 --> String型
        System.out.println( Integer.toString( 1000 ) );
        // int型 --> 16進表記のString型
        System.out.println( Integer.toHexString( 255 ) );
    }
}
 赤文字 は、オブジェクトを生成してから呼び出すインスタンスメソッドです。
 青文字 は、オブジェクトを作らず、クラス名.メソッド名で呼び出す静的メソッドです。
 最初の例は、2段階で Integerクラスを使っています。まず valueOf メソッドを使って文字列から Integerオブジェクトを生成し、その参照をオブジェクト変数に受け取らずに、そのまま intValue メソッドを呼び出して int 値を求めています。
 上のプログラムを実行すると、次の結果が表示されます。
123
456
1000
ff

(今回のクイズです)
 int の値 200 を double に変換して表示するコードを考えてください。 使うのは次のインスタンスメソッドです。
   double doubleValue() 
   (答えは、次回の Java の Tips で ・・・)
前回のクイズの答え: 次のコンストラクタ (3) を定義します。(前回の問題を見る
    // (3) 幅も高さも10.0固定
    Rect() {
        this( 10.0, 10.0 );
    }
 this で呼び出しているのは、幅も高さも引数で指定するコンストラクタ(1) です。