必要な知識のおおよそのレベル: Java 構文のクエストと少しの Java コア。
最初の JavaRush クエストの最後で、型変換について学びます。int
レベル 10 の講義では、への変換が非常に簡単で、一般に、ほとんどすべてのプリミティブ型は問題なく String
に変換できることがわかりました。String
int x = 5;
String text = "X=" + x;
また、Java 構文クエストのレベル 10 をすでに完了している人は、数値への参照を文字列への参照に変換することが不可能であることを知っています。それでは、文字列をプリミティブ整数に変換する最良の方法は何でしょうか? parseInt
これは、クラスメソッドを使用して行うことをお勧めしますInteger
。このメソッドはにparseInt
変換する必要があり、文字列を type に変換できない場合は例外をスローします。 String
int
NumberFormatException
int
例
文字列を整数に変換する基本的な行:
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 = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
議論
Integer.parseInt (s.trim ())
上記の例を調べると、このメソッドが文字列をs
integer に変換するために使用されていることがわかりますi
。これは次のコード行で行われます。
int i = Integer.parseInt (s.trim ())
ただし、文字列を数値に変換するだけでは機能しない場合があります。この例では、そのような文字列は名前 fred です。コンピュータ上で文字が書かれるコードについて話すこともできますが、正式に言えば、fred は数値ではないため、文字列のままにしておく方がよいでしょう。私たちのプログラムは、「fred」を数値に変換しようとすると、プロセスがInteger parseInt
例外をスローするように設計されておりNumberFormatException
、これはブロックで処理する必要がありますtry / catch
。trim ()
この場合、クラスメソッドを使用する必要はありませんString
が、実際のプログラミングではクラス メソッドを使用する必要があります。それで私たちはそれをあなたに見せました。String
このトピックが取り上げられたので、クラスと のトピックに関するいくつかの「ヒント」を以下に示しますInteger
。
Integer.toString (int i)
int
Java 文字列に変換するために使用されます。
- オブジェクトを(プリミティブ クラスではなく)
String
オブジェクトに変換する場合は、の代わりにon-classメソッドを使用します。Integer
int
valueOf ()
Integer
parseInt ()
- 文字列を追加のプリミティブ Java フィールドに変換する必要がある場合は、このようなメソッドを使用します
Long.parseLong ()
。
回答者:アリス ワトソン
GO TO FULL VERSION