【Java入門】数値を文字列へ変換する方法(valueOf/toString)

Javaには様々な型をString型の文字列に変換するために「valueOfメソッド」と「toStringメソッド」があります。

この記事では、

  • valueOfメソッドとは
  • valueOfメソッドの使い方
  • toStringメソッドとは
  • toStringメソッドの使い方
  • valueOfとtoStringの違い

などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、String型の文字列に変換するさまざまな使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

valueOfとは

valueOfメソッドを使用すればさまざまな型を、String型に変換することが可能です。

valueOfメソッドは引数に指定したさまざまな型の値を、String型の文字列として返します。

String.valueOf(変換する値);

valueOfの使い方

ここでは、valueOfメソッドを使用して、数値型、小数点型の値をString型に変換する方法を記述します。

public class Main {
    public static void main(String[] args) throws Exception {

       //short→String
        short sh = 100;
        String strsh = String.valueOf(sh);
        System.out.println("strsh : " + strsh);
        
        //int→String
        int num = 100;
        String strnum = String.valueOf(num);
        System.out.println("strnum : " + strnum);
        
        //long→String
        long lon = 100;
        String strlon = String.valueOf(lon);
        System.out.println("strlon : " + strlon);

        //float→String
        float fl = 100;
        String strfl = String.valueOf(fl);
        System.out.println("strfl : " + strfl);
        
        //double→String
        double db = 100;
        String strdb = String.valueOf(db);
        System.out.println("strdb : " + strdb);
    }
}

実行結果

strsh : 100
strnum : 100
strlon : 100
strfl : 100.0
strdb : 100.0

サンプルではshort型、int型、long型、float型、double型をそれぞれvalueOfメソッドを使用してString型に変換しています。

このようにvalueOfメソッドを使えば、簡単にString型に変換できることがわかりますね !

ここで紹介した数値型、小数点型以外にも真偽値型や日付型などもString型へ変換することが可能です。

さまざまな型からStringへの変換方法については、以下の記事で詳しく解説しています!

toStringとは

toStringメソッドは、数値型などをString型の文字列に変換するために使用します。

toStringメソッドは、引数にString型の文字列に変換したい変数を指定します。

戻り値として、String型の文字列を返します。

toStringの使い方

String型の文字列へ変換する方法には、valueOfメソッドのほかにtoStringメソッドを使用する方法があります。

toStringメソッドを使った変換方法を次のプログラムで確認してみましょう。

public class Main {
    public static void main(String[] args) throws Exception {

        Integer num = 100;
        String str = Integer.toString(num);
        System.out.println("str : " + str);
    }
}

実行結果

str : 100

サンプルでは設定した数値型の値に、toStringメソッドを使用してString型へ変換しています。

valueOfとtoStringの違い

valueOfメソッドとtoStringメソッドは、どちらもにString型へ変換することができるメソッドですが、違いはあるのでしょうか?

結論から言うと、基本的に2つのメソッドは目的は一緒ですが、変換する対象の値がnullの場合は動作が異なります

以下に変換する値がnullの場合のvalueOfメソッドとtoStringメソッドのサンプルを記述します。

public class Main {
    public static void main(String[] args) throws Exception {

        /* valueOfとtoStringの違い */
        /* どちらも数値型をString型へ変換してくれるが、値がnullの場合は動作が異なる*/
        
        Integer num = null;
        
        //valueOf
        String strval = String.valueOf(num);
        System.out.println("strval : " + strval);
        
        //toString
        String str = Integer.toString(num);
        System.out.println("str : " + str);

    }
}

サンプルでは、Integer型の値にnullを設定してvalueOfメソッドとtoStringメソッドに、それぞれnullの値をString型に変換しようとしています。

サンプルを実行すると、valueOfメソッドの場合は、String型の”null”を返しますが、toStringメソッドの場合は、null参照時の例外(java.lang.NullPointerException)が発生します。

そのため、toStringメソッドを使用してのString型の変換は、変換する値がnullかどうか注意する必要があります。

Stringについてもっと詳しく知りたい方へ

Stringのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここでは、valueOfメソッドを使用したString型へ変換する方法、toStringメソッドの使用方法、注意点などを説明しました。

他の型からString型に変換する処理は、さまざまな場面で使用することがあると思います。

もし、valueOfメソッドの使用方法を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次