Möchtest du in Java einen String in ein int umwandeln, stehen dir zwei un­kom­pli­zier­te Wege offen: parseInt() und valueOf(). Beachte jedoch, dass beide Varianten vor­aus­set­zen, dass der String nur Ganz­zah­len enthält und den Wer­te­be­reich des Datentyps Integer nicht sprengt.

String-to-int-Ope­ra­tio­nen in Java

Java Strings sind Zei­chen­ket­ten, die Buch­sta­ben, Ziffern oder Son­der­zei­chen kom­bi­nie­ren können. Einzelne Ziffern lassen sich in der Pro­gram­mier­spra­che als Ganz­zah­len (int) sichern. Besteht dein String rein aus Zahlen, kannst du diesen in den pri­mi­ti­ven Java-Datentyp Integer kon­ver­tie­ren. Während für den Weg von Java int zu String fünf Optionen exis­tie­ren, nutzt man für die Umkehrung String to int in Java primär zwei Methoden: Integer parseInt() und Integer.valueOf(). Wir zeigen dir an prak­ti­schen Bei­spie­len, wie das glatt läuft.

Hinweis

Vergiss nicht: Diese Kon­ver­tie­rung 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 ex­tra­hiert den Zah­len­wert aus einem komplexen String-Objekt und liefert ihn als pri­mi­ti­ven Datentyp int zurück. Die Syntax ist simpel:

static int parseInt(String s)
java

Die Funk­ti­ons­wei­se 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);
	}
}
java

Die Ausgabe zeigt:

Der Zahlenwert innerhalb des Strings ist: 7312
java

Das setzt voraus, dass der String aus­schließ­lich aus Ganz­zah­len 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 Feh­ler­mel­dung:

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)
java

Die Methode Integer.valueOf()

Ebenfalls aus der Klasse Integer stammt die Methode Integer.valueOf(). Sie liefert die dezimale In­ter­pre­ta­ti­on eines Strings und ist damit perfekt für die Um­wand­lung String to int geeignet. Die Syntax sieht so aus:

static int valueOf(int a)
java

Zur Ver­an­schau­li­chung 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);
	}
}
java

Das Ergebnis der Ausgabe:

Der Zahlenwert innerhalb des Strings ist: 7312
java
Zum Hauptmenü