Ungefährer Grad der erforderlichen Kenntnisse: Java-Syntax-Quest und ein wenig Java Core.
Am Ende der ersten JavaRush-Quest erfahren wir etwas über die Typkonvertierung. In den Lektionen der Stufe 10 konnten Sie sehen, dass die Konvertierung int
in String
sehr einfach ist und im Allgemeinen fast jeder primitive Typ ohne Probleme konvertiert werden kann String
.
int x = 5;
String text = "X=" + x;
Außerdem wissen diejenigen, die Level 10 der Java-Syntax-Quest bereits abgeschlossen haben, dass es unmöglich ist, einen Verweis auf eine Zahl in einen Verweis auf eine Zeichenfolge umzuwandeln. Was ist also der beste Weg, eine Zeichenfolge in eine primitive Ganzzahl umzuwandeln? parseInt
Es ist besser, dies mit der Klassenmethode zu tun Integer
. Die Methode parseInt
muss String
in konvertieren int
und löst eine Ausnahme aus NumberFormatException
, wenn die Zeichenfolge nicht in den Typ konvertiert werden kann int
.
Beispiel
Grundlegende Zeile, die einen String in eine Ganzzahl umwandelt:
int i = Integer.parseInt (myString);
Wenn die durch die Variable angegebene Zeichenfolge myString
eine gültige Ganzzahl ist, z. B. „1“ oder „200“, konvertiert Java sie stillschweigend in einen primitiven Datentyp int
. Wenn dies aus irgendeinem Grund fehlschlägt, kann eine solche Aktion eine Ausnahme auslösen NumberFormatException
. Damit das Programm für jede Zeichenfolge ordnungsgemäß funktioniert, benötigen wir also etwas mehr Code. Ein Programm, das die Methode zur Konvertierung demonstriert Java String
und int
für Folgendes steuert 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());
}
}
Diskussion
Wenn Sie das obige Beispiel studieren, werden Sie feststellen, dass die Methode Integer.parseInt (s.trim ())
verwendet wird, um eine Zeichenfolge s
in eine Ganzzahl umzuwandeln i
. Dies geschieht in der folgenden Codezeile:
int i = Integer.parseInt (s.trim ())
Aber manchmal funktioniert die Umwandlung einer Zeichenfolge in eine Zahl einfach nicht. In unserem Beispiel ist eine solche Zeichenfolge der Name Fred. Wir können über Codes sprechen, in denen Buchstaben auf einem Computer geschrieben werden, aber formal gesehen ist fred keine Zahl, und es ist besser, sie als Zeichenfolge zu belassen. Unser Programm ist so konzipiert, dass der Prozess beim Versuch, „fred“ in eine Zahl umzuwandeln, Integer parseInt
eine Ausnahme auslöst NumberFormatException
, die Sie in einem Block behandeln müssen try / catch
. In diesem Fall müssen Sie die trim ()
Klassenmethode nicht verwenden String
, aber in der echten Programmierung sollten Sie sie verwenden. Also haben wir es Ihnen gezeigt. Da dieses Thema aufgetaucht ist, hier einige „Hinweise“ zum Thema Unterricht String
und Integer
:
Integer.toString (int i)
Wird zur Konvertierung int
in Java-Strings verwendet.
String
Wenn Sie ein Objekt in ein Objekt Integer
(und nicht in eine primitive Klasse ) konvertieren möchten int
, verwenden Sie die valueOf ()
On-Class- Methode Integer
anstelle von parseInt ()
.
- Wenn Sie Zeichenfolgen in zusätzliche primitive Java-Felder konvertieren müssen, verwenden Sie Methoden wie diese
Long.parseLong ()
.
Beantwortet von: Alice Watson
GO TO FULL VERSION