JavaRush /Java-Blog /Random-DE /Frage und Antwort: Wie konvertiere ich String in Java kor...

Frage und Antwort: Wie konvertiere ich String in Java korrekt in int?

Veröffentlicht in der Gruppe Random-DE
Ungefährer Grad der erforderlichen Kenntnisse: Java-Syntax-Quest und ein wenig Java Core.
Frage und Antwort: Wie konvertiere ich String in Java korrekt in int?  - 1
Am Ende der ersten JavaRush-Quest erfahren wir etwas über die Typkonvertierung. In den Lektionen der Stufe 10 konnten Sie sehen, dass die Konvertierung intin Stringsehr 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? parseIntEs ist besser, dies mit der Klassenmethode zu tun Integer. Die Methode parseIntmuss Stringin konvertieren intund 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 myStringeine 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 Stringund intfür Folgendes steuert NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // Verwenden Sie dies, wenn Sie die //Ausnahme unten testen müssen
String s = "100";

    try
    {
      // hier wird String in int konvertiert
      int i = Integer.parseInt(s.trim());

      // den Wert nach der Konvertierung anzeigen
      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 sin 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 parseInteine 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 Stringund Integer:
  • Integer.toString (int i)Wird zur Konvertierung intin Java-Strings verwendet.
  • StringWenn Sie ein Objekt in ein Objekt Integer(und nicht in eine primitive Klasse ) konvertieren möchten int, verwenden Sie die valueOf ()On-Class- Methode Integeranstelle 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
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION