JavaRush /Java Blog /Random-JA /質問と回答: Java で String を int に正しく変換するにはどうすればよいですか?

質問と回答: Java で String を int に正しく変換するにはどうすればよいですか?

Random-JA グループに公開済み
必要な知識のおおよそのレベル: Java 構文のクエストと少しの Java コア。
質問と回答: Java で String を int に正しく変換するにはどうすればよいですか?  - 1
最初の JavaRush クエストの最後で、型変換について学びます。intレベル 10 の講義では、への変換が非常に簡単で、一般に、ほとんどすべてのプリミティブ型は問題なく Stringに変換できることがわかりました。String
int x = 5;
String text = "X=" + x;
また、Java 構文クエストのレベル 10 をすでに完了している人は、数値への参照を文字列への参照に変換することが不可能であることを知っています。それでは、文字列をプリミティブ整数に変換する最良の方法は何でしょうか? parseIntこれは、クラスメソッドを使用して行うことをお勧めしますInteger。このメソッドはにparseInt変換する必要があり、文字列を type に変換できない場合は例外をスローします。 StringintNumberFormatExceptionint

文字列を整数に変換する基本的な行:
int i = Integer.parseInt (myString);
変数によって示される文字列がmyString「1」、「200」などの有効な整数の場合、Java はそれをプリミティブ データ型に静かに変換しますint。何らかの理由でこれが失敗した場合、そのようなアクションは例外をスローする可能性があるNumberFormatExceptionため、プログラムが任意の文字列に対して正しく動作するには、もう少しコードが必要です。Java Stringに変換する方法を示しint、可能な制御を示すプログラムNumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      System.out.println("int i = " + i);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }

議論

Integer.parseInt (s.trim ())上記の例を調べると、このメソッドが文字列をsinteger に変換するために使用されていることがわかりますi。これは次のコード行で行われます。
int i = Integer.parseInt (s.trim ())
ただし、文字列を数値に変換するだけでは機能しない場合があります。この例では、そのような文字列は名前 fred です。コンピュータ上で文字が書かれるコードについて話すこともできますが、正式に言えば、fred は数値ではないため、文字列のままにしておく方がよいでしょう。私たちのプログラムは、「fred」を数値に変換しようとすると、プロセスがInteger parseInt例外をスローするように設計されておりNumberFormatException、これはブロックで処理する必要がありますtry / catchtrim ()この場合、クラスメソッドを使用する必要はありませんStringが、実際のプログラミングではクラス メソッドを使用する必要があります。それで私たちはそれをあなたに見せました。Stringこのトピックが取り上げられたので、クラスと のトピックに関するいくつかの「ヒント」を以下に示しますInteger
  • Integer.toString (int i)intJava 文字列に変換するために使用されます。
  • オブジェクトを(プリミティブ クラスではなく)Stringオブジェクトに変換する場合は、の代わりにon-classメソッドを使用します。IntegerintvalueOf ()IntegerparseInt ()
  • 文字列を追加のプリミティブ Java フィールドに変換する必要がある場合は、このようなメソッドを使用しますLong.parseLong ()
回答者:アリス ワトソン
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION