String in int in Java: 4 Methoden plus geheimer Lifehack

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum quält diese Frage selbst erfahrene Java-Entwickler?

Wenn Sie jemals gegoogelt haben "How do I convert a String to an int in Java?", dann sind Sie nicht allein. Dies ist eine der beliebtesten Fragen auf Stack Overflow mit Millionen von Aufrufen. Es scheint einfach: String nehmen, in Zahl umwandeln – fertig. Aber in der Praxis birgt die Konvertierung von String in int in Java Tücken: von unerwarteten Ausnahmen bis zur Wahl zwischen Leistung und Lesbarkeit des Codes.

In diesem Artikel analysieren wir alle gängigen Methoden zur Umwandlung von String in Zahl in Java, vergleichen sie hinsichtlich Geschwindigkeit, Sicherheit und Benutzerfreundlichkeit. Sie erfahren, wie Sie den klassischen Fehler NumberFormatException vermeiden und erhalten fertige Lösungen für reale Projekte. Los geht's!



Methode Nr. 1: Der Klassiker – Integer.parseInt()

Die gebräuchlichste und schnellste Methode, um String in int in Java zu konvertieren, ist die Verwendung der statischen Methode Integer.parseInt(). Sie nimmt einen String entgegen und gibt den primitiven Typ int zurück.



public class ParseIntExample {    public static void main(String[] args) {        String number = "42";        int result = Integer.parseInt(number);        System.out.println(result); // Ausgabe: 42    }}


Vorteile von Integer.parseInt():

  • Maximale Leistung – erzeugt keine überflüssigen Objekte.
  • Einfachheit – eine Codezeile ohne zusätzliche Wrapper.
  • Unterstützung von Zahlensystemen – Sie können eine Basis (Radix) angeben: Integer.parseInt("ff", 16) gibt 255 zurück.


Nachteile und Fallstricke:

  • Enthält der String nicht-numerische Zeichen (Leerzeichen, Buchstaben), wird eine NumberFormatException ausgelöst.
  • Behandelt null nicht – es kommt zu einer NullPointerException.


// Beispiel für einen Fehler:String badInput = "42abc";int value = Integer.parseInt(badInput); // NumberFormatException!


Methode Nr. 2: Sicheres Integer.valueOf()

Die zweite beliebte Methode zur Konvertierung von String in Zahl in Java ist Integer.valueOf(). Äußerlich ähnelt sie parseInt(), gibt aber ein Integer-Objekt zurück, keinen primitiven Typ.



public class ValueOfExample {    public static void main(String[] args) {        String number = "123";        Integer result = Integer.valueOf(number);        System.out.println(result); // Ausgabe: 123    }}


Wann sollte man valueOf() verwenden?

  • Wenn Sie ein Integer-Objekt für Sammlungen benötigen (z. B. List<Integer>).
  • Wenn Sie mit Optional oder der Stream API arbeiten (siehe unten).
  • Aufgrund der Zwischenspeicherung (für Zahlen von -128 bis 127) kann valueOf() sogar schneller sein als parseInt() + Autoboxing.


Wichtiger Hinweis:

Wenn Sie den primitiven Typ int benötigen, verwenden Sie besser parseInt() – er ist etwa 10-15 % schneller, da er kein Wrapper-Objekt erzeugt. In 99 % der Anwendungen ist dieser Unterschied jedoch vernachlässigbar.



Methode Nr. 3: Java 8+ und Optional – elegante Fehlerbehandlung

Ein moderner Ansatz zur Konvertierung von String in int in Java ist die Verwendung von Optional. Er vermeidet try-catch-Blöcke und macht den Code sauberer.



import java.util.Optional;

public class OptionalParseExample { public static Optional<Integer> safeParseInt(String str) { try { return Optional.of(Integer.parseInt(str)); } catch (NumberFormatException e) { return Optional.empty(); } }

public static void main(String[] args) { // Erfolgreiches Parsen safeParseInt("100").ifPresent(System.out::println); // 100

Blogs

Buchempfehlungen