String to int in Java: Die beiden praktischsten Methoden zur Umwandlung

Wenn Sie in Java eine Umwandlung String to int durchführen möchten, haben Sie zwei einfache Optionen: parseInt() und valueOf(). Beide funktionieren allerdings nur, wenn der String ausschließlich ganze Zahlen enthält und den Wertebereich des Datentyps Integer nicht übersteigt.

String-to-int-Operationen in Java

Java Strings sind Ketten, die Zeichen, Ziffern oder Sonderzeichen enthalten können. Einzelne Ziffern in Form von ganzzahligen Werten können in der Programmiersprache als Integer (int) gespeichert werden. Wenn Sie einen String verwenden, der lediglich aus Ganzzahlen besteht, können Sie diesen in den primitiven Java-Datentyp Integer umwandeln. Während es für die Umwandlung von Java int zu String mindestens fünf praktische Wege gibt, bieten sich bei der gegenteiligen Umwandlung String to int in Java vor allem zwei Methoden an: Integer parseInt() und Integer.valueOf(). Wir erklären Ihnen anhand einiger praktischer Beispiele, wie sie funktionieren.

Hinweis

Beachten Sie dabei, dass diese Umwandlung nur funktioniert, solange der Zahlenwert im Bereich zwischen -2147483648 bis 2147483647 liegt. Größere oder kleinere Zahlen können durch den Datentyp Integer nicht abgebildet werden.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Die Methode Integer.parseInt()

parseInt() ist eine statische Methode, die zur Klasse Integer gehört und den Zahlenwert eines komplexen Datentyps String in Form des primitiven Datentyps int zurückgeben kann. Ihre Syntax sieht folgendermaßen aus:

static int parseInt(String s)
java

Ihre Funktionsweise verstehen Sie am besten, wenn wir uns ein kurzes Beispiel für die Methode anschauen. Dafür initiieren wir zunächst einen String, der lediglich den ganzzahligen Wert „7312“ enthält. Dann führen wir eine Java-Operation String to int mit der Methode parseInt() durch und nutzen den Java-Befehl System.out.println, um uns den Wert ausgeben zu lassen. Hier der entsprechende Code:

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 lautet:

Der Zahlenwert innerhalb des Strings ist: 7312
java

Dies funktioniert aber nur, wenn der String lediglich aus ganzen Zahlen besteht. Ist dies nicht der Fall und Sie führen die Methode parseInt() trotzdem durch …

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

… erhalten Sie diese 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)
java

Die Methode Integer.valueOf()

Auch Integer.valueOf() ist eine Methode der Klasse Integer. Sie gibt die dezimale Interpretation eines String-Objekts aus und eignet sich somit ebenfalls für eine Umwandlung String to int. Ihre Java-Syntax sieht so aus:

static int valueOf(int a)
java

Um ihre Funktionsweise zu veranschaulichen, wählen wir erneut 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

Wir erhalten wieder die folgende Ausgabe:

Der Zahlenwert innerhalb des Strings ist: 7312
java

Die Fehlermeldung, die ausgegeben wird, wenn innerhalb des Strings andere Zeichen hinterlegt sind, entspricht derjenigen im Beispiel zu parseInt().