JavaでString(文字列)を変換する方法まとめ(short,int,long等に変換)

JavaでString型と整数型(short,int,long)の変換方法が知りたい
String型と浮動小数点数(float,double)の変換方法が知りたい
String型と日付型の変換方法が知りたい

JavaのStringを扱う上で、文字列を数値型などに変換するといった対応が必要なことがあります。JavaではString型をさまざまな型に変換することが可能です。

この記事では、Stringから整数型や他の型へ変換する方法について網羅的に解説していきます。

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

目次

Stringと整数値の変換

String型と整数型の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringintInteger.parseInt
Integer.valueOf
Integer.parseInt("1")
Integer.valueOf(“1”)
shortShort.parseShort
Short.valueOf
Short.parseShort(“1”)
Short.valueOf(“1”)
longLong.parseLong
Long.valueOf
Long.parseLong(“1”)
Long.valueOf(“1”)
整数値型(int, short, long)StringString.valueOfString.valueOf(1)
intStringInteger.toStringInteger.toString(1)
shortStringShort.toStringShort.toString((short)1)
longStringLong.toStringLong.toString(1l)

String型から整数型への変換はparseInteger、paraseShort、parseLongなどのメソッドやvalueOfメソッドが使用できます。

整数型から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。

それぞれの使用例についてサンプルコードで確認していきましょう。

shortとString

shortからStringへの変換

shortの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、shortの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        short sh = 100;
        String str = String.valueOf(sh);
        System.out.println("str:" + str);
    }

}

実行結果:

str:100

Stringからshortへの変更

Stringからshortへ変換する場合は、parseShortメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str = "100";
        short sh = Short.parseShort(str);
        System.out.println("sh : " + sh);
    }

}

実行結果:

sh : 100

intとString

intからStirngへの変換

intの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、intの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        int num = 100;
        String str = String.valueOf(num);
        System.out.println("str : " + str);
    }

}

実行結果:

str : 100

Stringからintへの変換

Stringからintへ変換する場合は、parseIntメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str = "100";
        int num = Integer.parseInt(str);
        System.out.println("num : " + num);
    }

}

実行結果:

num : 100

longとString

longからStringへの変換

longの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、longの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        long lon = 100;
        String str = String.valueOf(lon);
        System.out.println("str : " + str);
    }

}

実行結果:

str : 100

Stringからlongへの変換

Stringからlongへ変換する場合は、parseLongメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str = "100";
        long lon = Long.parseLong(str);
        System.out.println("lon : " + lon);
    }

}

実行結果:

lon : 100

Stringと浮動小数点数の変換

String型と浮動小数点数の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringfloatFloat.parseFloat
Float.valueOf
Float.parseFloat(“1”)
Float.valueOf(“1”)
doubleDouble.parseDouble
Double.valueOf
Double.parseDouble(“1”)
Double.valueOf(“1”)
小数点数型(float, double)StringString.valueOfString.valueOf(1)
floatStringFloat.toStringFloat.toString(1.0f)
doubleStringDouble.toStringDouble.toString(1.0)

String型から浮動小数点数への変換はparseFloat、parseDoubleなどのメソッドやvalueOfメソッドが使用できます。

浮動小数点数から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。

それぞれの使用例についてサンプルコードで確認していきましょう。

floatとString

floatからStringへの変換

floatの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、floatの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        float fl = 100;
        String str = String.valueOf(fl);
        System.out.println("str : " + str);
    }

}

実行結果:

str : 100.0

Stringからfloatへの変換

Stringからfloatへ変換する場合は、parseFloatメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str = "100";
        float fl = Float.parseFloat(str);
        System.out.println("fl : " + fl);
    }

}

実行結果:

fl : 100.0

doubleとString

doubleからStringへの変換

doubleの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、doubleの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        double db = 100;
        String str = String.valueOf(db);
        System.out.println("str : " + str);
    }

}

実行結果:

str : 100.0

Stringからdoubleへの変換

Stringからdoubleへ変換する場合は、parseDoubleメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str = "100";
        double db = Double.parseDouble(str);
        System.out.println("db : " + db);
    }

}

実行結果:

db : 100.0

Stringとbooleanの変換

String型と真偽値の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringbooleanBoolean.valueOfBoolean.valueOf(“true”)
booleanStringString.valueOfString.valueOf(true)

String型から真偽値への変換はvalueOfメソッドが使用できます。

真偽値から文字列型への変換はvalueOfメソッドが使用できます。

それぞれの使用例についてサンプルコードで確認していきましょう。

booleanからStringへの変換

booleanの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、booleanの値(true or false)を指定します

public class Main {
 
    public static void main(String[] args) {
        boolean bool1 = true;
        boolean bool2 = false;
        String str1 = String.valueOf(bool1);
        String str2 = String.valueOf(bool2);
         
        System.out.println("str1 : " + str1);   
        System.out.println("str2 : " + str2);
    }

}

実行結果:

str1 : true
str2 : false

Stringからbooleanへの変換

Stringからbooleanへ変換する場合は、valueOfメソッドを使用して、引数に文字列を指定します。

public class Main {
 
    public static void main(String[] args) {
        String str1 = "true";
        String str2 = "false";
        boolean bool1 = Boolean.valueOf(str1);
        boolean bool2 = Boolean.valueOf(str2);
                
        System.out.println("bool1 : " + bool1);
        System.out.println("bool2 : " + bool2);
    }

}

実行結果:

bool1 : true
bool2 : false

valueOfメソッドに指定する文字列は、真偽値(true、false)ですが、真偽値以外の文字列を指定すると、falseが返されます。

StringとDateの変換

DateからStringへの変換

Dateの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、Dateの値を指定します。

import java.util.Date;

public class Main {
 
    public static void main(String[] args) {
        Date d = new Date();
        String str = String.valueOf(d);
        System.out.println("str : " + str);
    }

}

実行結果:

str : Tue Mar 07 02:19:03 UTC 2017

StringからDateへの変換

Stringからdataへ変換する場合は、まずSimpleDateFormatクラスを使用して、日付時刻のフォーマットを指定します。

そのあとに、parseメソッドを使用して引数に文字列を指定します。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
 
    public static void main(String[] args) {
        String str = "20170307 12:00:00";
        SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
        try {
            Date d = sd.parse(str);
            System.out.println("d : " + d.toString());
        } catch(ParseException e) {
            e.printStackTrace();
        }
    }

}

実行結果:

d : Tue Mar 07 12:00:00 UTC 2017

parseメソッドでString型をdata型に変換するときに、Stringの値がSimpleDateFormatクラスで指定したフォーマット以外の文字列を指定した場合、”java.text.ParseException”の例外が発生しますので注意してください。

Stringとcharの変換

charからStringへの変換

charの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、charの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        char c = 'a';
        String str = String.valueOf(c);
        System.out.println("str : " + str);
    }

}

実行結果:

str : a

Stringからcharへの変換

Stringからcharへ変換する場合は、charAtメソッドを使用してStringのindex番号を指定して、1文字だけ取得することができます。

public class Main {
 
    public static void main(String[] args) {
        String str = "apple";
        char c = str.charAt(0);
        System.out.println("c : " + c);
    }

}

実行結果:

c : a

Stringの値を全て取得したい場合は、toCharArrayメソッドを使用します。

public class Main {
 
    public static void main(String[] args) {
        String str = "apple";
        char[] c = str.toCharArray();
        for(char c1 : c) {
           System.out.println(c1);
        }
    }

}

実行結果:

a
p
p
l
e

Stringとbyteの変換

byte配列からStringへの変換

byteの値をStringへ変換する場合は、Stringのコンストラクタを使用します。

Stringのコンストラクタの引数に、byteの値を指定します。

public class Main {
 
    public static void main(String[] args) {
        byte[] sbyte = "12345".getBytes();
        String str = new String(sbyte);
        System.out.println("str : " + str);
    }

}

実行結果:

str : 12345

Stringからbyte配列への変換

Stringの値をbyteへ変換する場合は、getBytesメソッドを使用します。

public class Main {
 
    public static void main(String[] args) {
        String str = "apple";
        byte[] sbyte = str.getBytes();
        for(int i=0; i<sbyte.length; i++) {
            //16進数で出力
            System.out.println(Integer.toHexString(sbyte[i]));
        }
    }

}

実行結果:

61
70
70
6c
65

まとめ

Stringからさまざまな型へ変換する方法について説明しました。

Stringからの型変換は、あらゆる場面で使用する機会があると思います。

もし、Stringからの型変換の方法を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

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

目次