【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メソッドの使用方法を忘れてしまったら、この記事を思い出してくださいね!

\業界最安級/
月額2,980円のプログラミングスクール

✔ 業界最安値の月定額2,980円
✔ 「Q&A掲示板」で平均30分以内に回答がもらえる
✔ 月に一度の「オンライン相談」で悩みを解決
✔ 教材の数は30種類以上
✔ 入会金不要+いつでも退会OK

公式サイトはこちら

Writer

侍テック編集部

株式会社SAMURAI

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

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close