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

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

この記事では、

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

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

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

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部として、これまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。プログラミング初学者に向けてわかりやすく、ためになるコンテンツ作りを心がけています。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー