Java-Tipp: So wandelst du Strings einfach in Integers um
Möchtest du in Java einen String in ein int umwandeln, stehen dir zwei unkomplizierte Wege offen: parseInt() und valueOf(). Beachte jedoch, dass beide Varianten voraussetzen, dass der String nur Ganzzahlen enthält und den Wertebereich des Datentyps Integer nicht sprengt.
String-to-int-Operationen in Java
Java Strings sind Zeichenketten, die Buchstaben, Ziffern oder Sonderzeichen kombinieren können. Einzelne Ziffern lassen sich in der Programmiersprache als Ganzzahlen (int) sichern. Besteht dein String rein aus Zahlen, kannst du diesen in den primitiven Java-Datentyp Integer konvertieren. Während für den Weg von Java int zu String fünf Optionen existieren, nutzt man für die Umkehrung String to int in Java primär zwei Methoden: Integer parseInt() und Integer.valueOf(). Wir zeigen dir an praktischen Beispielen, wie das glatt läuft.
Vergiss nicht: Diese Konvertierung klappt nur, wenn der Wert zwischen -2147483648 und 2147483647 liegt. Außerhalb dieses Bereichs stößt der Datentyp Integer an seine Grenzen.
Die Methode Integer.parseInt()
parseInt() ist eine statische Methode der Klasse Integer. Sie extrahiert den Zahlenwert aus einem komplexen String-Objekt und liefert ihn als primitiven Datentyp int zurück. Die Syntax ist simpel:
static int parseInt(String s)javaDie Funktionsweise wird bei einem kurzen Beispiel sofort klar. Wir erstellen zuerst einen String mit dem Wert „7312“. Danach führen wir die Java-Operation String to int via parseInt() aus und nutzen den Java-Befehl System.out.println für die Ausgabe. Hier ist der Code dazu:
public class Main {
public static void main(String args[]) {
String str = "7312";
int nummer = Integer.parseInt(str);
System.out.println("Der Zahlenwert innerhalb des Strings ist: " + nummer);
}
}javaDie Ausgabe zeigt:
Der Zahlenwert innerhalb des Strings ist: 7312javaDas setzt voraus, dass der String ausschließlich aus Ganzzahlen besteht. Sollten andere Zeichen enthalten sein und du nutzt parseInt() dennoch …
public class Main {
public static void main(String args[]) {
String str = "Die gesuchte Zahl ist 7312";
int nummer = Integer.parseInt(str);
System.out.println("Der Zahlenwert innerhalb des Strings ist: " + nummer);
}
}java… quittiert Java das mit dieser Fehlermeldung:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Die gesuchte Zahl ist 7312"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:661)
at java.base/java.lang.Integer.parseInt(Integer.java:777)
at Main.main(Main.java:4)javaDie Methode Integer.valueOf()
Ebenfalls aus der Klasse Integer stammt die Methode Integer.valueOf(). Sie liefert die dezimale Interpretation eines Strings und ist damit perfekt für die Umwandlung String to int geeignet. Die Syntax sieht so aus:
static int valueOf(int a)javaZur Veranschaulichung dient auch hier ein einfaches Beispiel:
public class Main {
public static void main(String args[]) {
String newString = "7312";
int parNummer = Integer.valueOf(newString);
System.out.println("Der Zahlenwert innerhalb des Strings ist: " + parNummer);
}
}javaDas Ergebnis der Ausgabe:
Der Zahlenwert innerhalb des Strings ist: 7312java