Javaで文字列を整数に簡単変換:ステップバイステップガイド
Javaで数値文字列を整数に変換するのはよくあるタスクですが、正しく扱わないと初心者を悩ませます。以下に最も頻繁に使われる2メソッド、Integer.parseInt()とInteger.valueOf()を用いた明確・簡潔な例を示します。両者は同じ変換を行いますが、戻り値型とパフォーマンスでわずかに異なります。
Integer.parseInt()でStringをIntegerに変換Integer.valueOf()でStringをIntegerに変換
数値を表す文字列があると仮定:
String strTest = "100";
文字列に直接算術演算を試みると、Javaは変数をテキストとして扱うためコンパイルエラー:
class StrConvert{
public static void main(String []args){
String strTest = "100";
System.out.println("Using String:" + (strTest/4));
}
}
出力:
/StrConvert.java:4: error: bad operand types for binary operator '/'
System.out.println("Using String:" + (strTest/4));
算術演算にはまず文字列を整数に変換する必要があります。
例1: Integer.parseInt()でStringをIntegerに変換
parseIntメソッドはプリミティブintを返します。高速でオブジェクト参照が不要な場合に最適。
構文:
int iTest = Integer.parseInt(strTest);
完全例:
class StrConvert{
public static void main(String []args){
String strTest = "100";
int iTest = Integer.parseInt(strTest);
System.out.println("Actual String:" + strTest);
System.out.println("Converted to Int:" + iTest);
// これで算術演算可能
System.out.println("Arithmetic Operation on Int: " + (iTest/4));
}
}
出力:
Actual String:100 Converted to Int:100 Arithmetic Operation on Int: 25
例2: Integer.valueOf()でStringをIntegerに変換
valueOfメソッドはIntegerオブジェクトを返します。オートボクシングにより直接int変数に代入可能ですが、オブジェクト生成分わずかに低速。
完全例:
public class StrConvert{
public static void main(String []args){
String strTest = "100";
int iTest = Integer.valueOf(strTest); // intへ自動アンボクシング
System.out.println("Actual String:" + strTest);
System.out.println("Converted to Int:" + iTest);
System.out.println("Arithmetic Operation on Int:" + (iTest/4));
}
}
出力:
Actual String:100 Converted to Int:100 Arithmetic Operation on Int:25
無効数字の扱い: NumberFormatException
文字列が有効な整数を表さない場合、parseIntとvalueOfの両方がNumberFormatExceptionをスロー。これによりサイレント失敗からプログラムを守ります。
例:
public class StrConvert{
public static void main(String []args){
String strTest = "Guru99";
int iTest = Integer.valueOf(strTest);
System.out.println("Actual String:" + strTest);
System.out.println("Converted to Int:" + iTest);
}
}
出力:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"
ベストプラクティスは変換前検証、またはtry-catchブロックで例外をグレースフルに処理。
詳細については公式Javaドキュメント参照:Integer.parseInt および Integer.valueOf。
Java
- Microsoft AzureへのJava EEアプリケーションデプロイ:ステップバイステップガイド
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Java Enumの文字列表現マスター:デフォルト、オーバーライド、高度なパターン
- Javaオブジェクト配列の作成:ステップバイステップガイド
- Java String.length()メソッド:文字列サイズ取得の実例解説
- Java String.charAt()完全解説:構文、戻り値、例外、実例
- Java String.compareTo()マスター:構文、ユースケース、実践例
- Java String.endsWith()マスター:文字列サフィックスチェック実例付き
- Java文字列置換マスター:replace()、replaceAll()、replaceFirst()徹底解説
- Java String toLowerCase() & toUpperCase():ロケール対応テキストケース変換
- Java 乱数生成:Random クラスと Math.random 実践ガイド