Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのInteger.toString()メソッドとは?3つのオーバーロードと基数変換を解説

java.lang.IntegerクラスのtoString()メソッドは、整数値を表す文字列(String)オブジェクトを返します。Integerクラスには、用途に応じて使い分けられる3種類のtoString()メソッドが用意されています。この記事では、それぞれの構文や動作をサンプルコードと実行結果付きで詳しく解説します。

1. String toString()(引数なし)

java.lang.Integer.toString()メソッドは、そのIntegerオブジェクトが保持している値を、10進法(base 10)の文字列表現として返します。

サンプルコード

import java.lang.*;

public class Demo {
    public static void main(String[] args) {
        Integer i = Integer.valueOf(20);
        // 10進法での文字列表現を返す
        String retval = i.toString();
        System.out.println("Value = " + retval);
    }
}

実行結果

Value = 20

2. static String toString(int i)

java.lang.Integer.toString(int i)メソッドは、引数で指定したint型の整数値を表すStringオブジェクトを返します。引数iは変換対象となる整数です。こちらも10進法での変換になります。

なお、これはstaticメソッドのため、インスタンスを生成しなくてもInteger.toString(30)のようにクラス名から直接呼び出すのが一般的です。

サンプルコード

import java.lang.*;

public class Demo {
    public static void main(String[] args) {
        // 指定した整数値を10進法の文字列に変換して返す
        String retval = Integer.toString(30);
        System.out.println("Value = " + retval);
    }
}

実行結果

Value = 30

3. static String toString(int i, int radix)

java.lang.Integer.toString(int i, int radix)メソッドは、第1引数iで渡した整数値を、第2引数radixで指定した基数による文字列表現に変換して返します。

もしradixCharacter.MIN_RADIX(2)より小さい、またはCharacter.MAX_RADIX(36)より大きい場合には、代わりに基数10が使用されます。

  • i: 変換対象の整数値
  • radix: 文字列表現に使用する基数(2〜36)

サンプルコード

import java.lang.*;

public class Demo {
    public static void main(String[] args) {
        // 基数10(10進法)での文字列表現を返す
        String retval = Integer.toString(30, 10);
        System.out.println("Value = " + retval);

        // 基数16(16進法)での文字列表現を返す
        retval = Integer.toString(30, 16);
        System.out.println("Value = " + retval);

        // 基数8(8進法)での文字列表現を返す
        retval = Integer.toString(30, 8);
        System.out.println("Value = " + retval);
    }
}

実行結果

Value = 30
Value = 1e
Value = 36

3つのtoString()メソッドの比較まとめ

メソッド説明
toString()インスタンスが保持する値を10進法の文字列で返す
toString(int i)指定したint値を10進法の文字列で返す(static)
toString(int i, int radix)指定したint値を指定した基数の文字列で返す(static)

補足として、Java 9以降ではnew Integer(...)コンストラクタは非推奨(deprecated)となっているため、Integerオブジェクトを生成する際はInteger.valueOf(...)を使うことが推奨されています。整数を文字列に変換したい場面では、目的に応じてこれら3つのtoString()メソッドを使い分けるとよいでしょう。

  1. JavaでMapを反復処理する4つの方法:entrySet、keySet、Iterator、forEach徹底解説

    この記事では、JavaでMap(マップ)をループ処理するためのさまざまな方法を紹介します。Java 8以降では、従来のfor文やIteratorクラスに加えて、forEachメソッドを使った簡潔な反復処理も可能になりました。用途に応じて最適な手法を選べるよう、代表的な4つのパターンをサンプルコードとともに解説していきます。 1. エントリー(キーと値)をまとめて反復処理する キーと値の両方を扱いたい場合は、entrySet()メソッドを使うのが最も一般的で効率的な方法です。Map.EntryからgetKey()とgetValue()でそれぞれ取得できます。 Map<Integer, In

  2. JavaのtoString()メソッドをオーバーライドする目的とは?意味と実装例を解説

    JavaにおけるtoString()メソッドとは、どのような役割を持つメソッドなのでしょうか? toString()は、クラスのオブジェクトを文字列(String)として表現したい場合に使用するメソッドです。このメソッドを呼び出すと、オブジェクトの内容をテキスト形式で返してくれます。 実は、オブジェクトをSystem.out.println()などで出力するとき、Javaコンパイラは自動的にそのオブジェクトのtoString()メソッドを呼び出します。つまり、toString()を適切にオーバーライドしておけば、オブジェクトの中身がわかりやすい形で出力されるようになります。 それでは、具体的な