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 のスワップメソッド