Java で文字列を整数に変換する方法
-
Java の
parseInt()
を用いて文字列String
から整数int
に変換する -
Java の
Apache
を用いて文字列を整数に変換する -
Java の
decode()
を用いて文字列から整数に変換する -
Java の
valueOf()
メソッドを用いて文字列から整数に変換する -
Java の
parseUnsignedInt()
を用いて文字列から整数に変換する -
Java の
replaceAll()
を用いて非数値文字を削除した後に文字列に変換する
このチュートリアルでは、Java で文字列を整数に変換する方法と、それを理解するためのコード例を紹介します。
Java の parseInt()
を用いて文字列 String
から整数 int
に変換する
Java では文字列と整数の両方がデータ型です。String
はテキスト情報を格納するために用いられ、int
は数値データを格納するために用いられます。
ここでは、Integer
クラスの parseInt()
メソッドを用いて Integer
を返します。Java は暗黙のうちにオートボックシングを行うので、int プリミティブ型に格納することができます。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1234";
int int_val = Integer.parseInt(str);
System.out.println(int_val);
}
}
出力:
1234
Java の Apache
を用いて文字列を整数に変換する
Apache
ライブラリを利用している場合、NumberUtils
クラスの toInt()
メソッドを利用して整数型の値を返すことができます。渡された文字列に数字以外の文字が含まれていた場合、このメソッドは例外を投げずに 0
を返します。この場合、NumberFormatException
をスローする parseInt()
よりも toInt()
を使った方が安全です。以下の例を参照してください。
import org.apache.commons.lang3.math.NumberUtils;
public class SimpleTesting {
public static void main(String[] args) {
String str = "1234";
int int_val = NumberUtils.toInt(str);
System.out.println(int_val);
str = "1234x"; // non-numeric string
int_val = NumberUtils.toInt(str);
System.out.println(int_val);
}
}
出力:
1234
0
Java の decode()
を用いて文字列から整数に変換する
文字列から int の値を取得するには、Integer
クラスの decode()
メソッドを用いることができます。これは Integer
の値を返しますが、int
(プリミティブ) の値を取得したい場合は decode()
メソッドと一緒に intValue()
を使用します。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.decode(str);
System.out.println(int_val);
// int primitive
int_val = Integer.decode(str).intValue();
System.out.println(int_val);
}
}
出力:
1424
Java の valueOf()
メソッドを用いて文字列から整数に変換する
変換後の文字列の int 値を取得するには、valueOf()
メソッドを用いることができます。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.valueOf(str);
System.out.println(int_val);
}
}
1424 1424
Java の parseUnsignedInt()
を用いて文字列から整数に変換する
符号を含まない文字列を変換したい場合は、parseUnsignedInt()
メソッドを使って int の値を取得します。これは符号なし文字列の値でも問題なく動作し、値が符号付きの場合は例外をスローします。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424";
int int_val = Integer.parseUnsignedInt(str);
System.out.println(int_val);
}
}
出力:
1424
Java の replaceAll()
を用いて非数値文字を削除した後に文字列に変換する
文字列に数値以外の文字が含まれている場合は、String
クラスの replaceAll()
メソッドを regex
と組み合わせて使用して数値以外の文字をすべて削除し、Integer
クラスの parseInt()
メソッドを使用して等価な整数値を取得します。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String str = "1424x";
str = str.replaceAll("[^\\d]", "");
int int_val = Integer.parseInt(str);
System.out.println(int_val);
}
}
出力:
1424
関連記事 - Java String
- Java で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java 文字列をバイトに変換する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド