Java で Int を Integer に変換する

Mohammad Irfan 2023年10月12日
  1. Java でオートボクシングを使用して Int を Integer に変換する
  2. Java で整数コンストラクターを使用して Int を Integer に変換する
  3. Java で Integer.valueOf() メソッドを使用して Int を Integer に変換する
Java で Int を Integer に変換する

このチュートリアルでは、Java でプリミティブ int を Integer オブジェクトに変換する方法を紹介します。

Java は、プリミティブ int 型または Integer ラッパークラスのいずれかを使用して整数値を保持します。プリミティブ int を Integer オブジェクトに変換する場合、Java は valueOf()Integer() コンストラクターなどのいくつかのメソッドを提供します。

この記事では、これらの方法の使用方法を学習します。それでは、始めましょう。

Java でオートボクシングを使用して Int を Integer に変換する

オートボクシングは、プリミティブ型が暗黙的にオブジェクトに変換される手法です。これを反転させたものをアンボックシングといいます。Java は暗黙的にオートボクシングをサポートしているため、余分なコードを記述する必要はありません。

以下の例では、オートボクシングを使用して int を Integer オブジェクトに変換し、両方の変数が同じ値を保持していることを確認しました。以下のコード例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    System.out.println("a = " + a);
    Integer i = a; // autoboxing
    System.out.println("i = " + i);
  }
}

出力:

a = 10
i = 10

Java で整数コンストラクターを使用して Int を Integer に変換する

Java Integer クラスは、プリミティブ int 型のオブジェクトを作成するために使用されるラッパークラスです。そのコンストラクターを使用して、intInteger オブジェクトに変換できます。以下の例では、int 値を引数として受け取り、それを Integer オブジェクトとして返す Integer クラスコンストラクターを使用しました。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    System.out.println("a = " + a);
    Integer i = new Integer(a);
    System.out.println("i = " + i);
  }
}

出力:

a = 10
i = 10

Java で Integer.valueOf() メソッドを使用して Int を Integer に変換する

これは、Java で int を整数に変換するために使用できるもう 1つの方法です。ここでは、Integer クラスの valueOf() メソッドを使用しました。これは、int プリミティブ引数を取り、Integer オブジェクトを返す静的メソッドです。したがって、ここではこのメソッドを使用できます。以下のコード例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    System.out.println("a = " + a);
    Integer i = Integer.valueOf(a);
    System.out.println("i = " + i);
  }
}

出力:

a = 10
i = 10

Java で int を整数に変換する方法を見てきましたが、ここでは、変換が成功したかどうかを確認するためのもう 1つのトリックを紹介します。これは、Object クラスの getClass() メソッドを使用して結果を検証できることを意味します。このメソッドは、クラスの完全修飾名(パッケージ名を含む)を返します。

getClass() メソッドを使用して、結果の値が Integer クラスのオブジェクトであるかどうかを確認し、正常に機能することを確認しました。

getSimpleName() メソッドを使用して、完全修飾名からクラスの名前のみを取得しました。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 10;
    System.out.println("a = " + a);
    Integer i = Integer.valueOf(a);
    System.out.println("i = " + i);
    System.out.println(i.getClass().getSimpleName());
  }
}

出力:

a = 10
i = 10
Integer

getSimpleName() メソッドを使用しない場合、出力は以下のようになります。

a = 10 i = 10 class java.lang.Integer

関連記事 - Java Integer