In Java gibt es bei der Arbeit mit Strings Situationen, in denen wir eine als String dargestellte Zahl in einen Integer-Typ konvertieren müssen. Normalerweise tun wir dies, weil wir mit einem breiten, flexiblen Satz von Operationen über Strings arbeiten können. Die Methode, die in Java im Allgemeinen zum Konvertieren von String in Integer verwendet wird, ist parseInt () des String-Klasse .
In diesem Artikel erfahren Sie, wie Sie in Java einen String in int konvertieren.

Programm zum Konvertieren von Java String in int
Nehmen wir gleich ein Beispiel, um uns mit der funktionierenden parseInt()-Methode vertraut zu machen:
Java
Gültige Java-Bezeichner
// Java program to demonstrate working parseInt()> // Where No NumberFormatException is Thrown> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Custom wide-varied inputs to illustrate> >// usage of valueOf() method> >int> decimalExample = Integer.parseInt(>'20'>);> >int> signedPositiveExample = Integer.parseInt(>'+20'>);> >int> signedNegativeExample = Integer.parseInt(>'-20'>);> >int> radixExample = Integer.parseInt(>'20'>,>16>);> >int> stringExample = Integer.parseInt(>'geeks'>,>29>);> >// Print commands on console> >System.out.println(decimalExample);> >System.out.println(signedPositiveExample);> >System.out.println(signedNegativeExample);> >System.out.println(radixExample);> >System.out.println(stringExample);> >}> }> |
>
>Ausgabe
20 20 -20 32 11670324>
parseInt()-Methode in Java
Es gibt zwei Varianten dieser Methode:
ASCII eines in Java
- parseInt(String s): Diese Funktion analysiert das Zeichenfolgenargument als vorzeichenbehaftete Dezimalzahl.
- parseInt(String s, int radix): Diese Funktion analysiert das Zeichenfolgenargument als vorzeichenbehaftete Ganzzahl in der Basis, die durch das zweite Argument angegeben wird.
Syntax von parseInt
public static int parseInt(String str); public static int parseInt(String str, int radix);>
Parameter
- str: S String, der in eine Ganzzahl konvertiert werden muss.
- Basis: wird verwendet, während die Zeichenfolge analysiert wird.
Rückgabetyp
- Beide Methoden konvertieren die Zeichenfolge in ihr ganzzahliges Äquivalent. Der einzige Unterschied besteht im Parameter radix. Die erste Methode kann mit Basis = 10 (Dezimal) betrachtet werden.
Ausnahme ausgelöst
- NumberFormatException wird von dieser Methode ausgelöst, wenn eine der folgenden Situationen auftritt.
Denken Sie an bestimmte wichtige Punkte, die mit beiden Varianten verbunden sind:
- Die Zeichenfolge kann null sein oder die Länge null haben
- Der durch die Zeichenfolge dargestellte Wert ist kein Wert vom Typ int
- Speziell für die Variante parseInt(String s, int radix) der Funktion:
- Die Basis des zweiten Arguments ist entweder kleiner als Character.MIN_RADIX oder größer als Character.MAX_RADIX
- Jedes Zeichen der Zeichenfolge ist keine Ziffer der angegebenen Basis, mit der Ausnahme, dass das erste Zeichen ein Minuszeichen „-“ (‚u002D‘) oder ein Pluszeichen ‚+‘ (‘u002B‘) sein kann, sofern die Zeichenfolge dies ist länger als Länge 1
- Wenn Ihr String führende Nullen enthält, ignoriert die Methode parseInt() diese.
Fälle von parseInt()-Methode
Nehmen wir einen zufälligen Codeausschnitt, um die Abbildungen besser zu verstehen.
Fall 1: parseInt(20, 16)
gibt 32 zurück, (2)*16^1 + (0)*16^0 = 32
Fall 2: parseInt(2147483648, 10)
löst eine NumberFormatException aus
Fall 3: parseInt(99, 8)
löst eine NumberFormatException aus
Grund: 9 ist keine akzeptierte Ziffer des oktalen ZahlensystemsFall 4: parseInt(Geeks, 28)
löst eine NumberFormatException aus
Fall 5: parseInt(geeks, 29)
gibt 11670324 zurück, Grund: Das Zahlensystem mit der Basis 29 kann die Ziffern 0-9 gefolgt von den Zeichen a,b,c… bis s enthalten
Fall 6: parseInt(geeksforgeeks, 29)
wirft eine NumberFormatException als Grund: Das Ergebnis ist keine Ganzzahl.
Ausnahmen beim Zahlenformat der parseInt()-Methode
Ausnahmen, die durch die unten genannte parseInt()-Methode verursacht werden:
Java
// Java Program to Demonstrate Working of parseInt() Method> // Where NumberFormatException is Thrown> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// NumberFormatException> >String invalidArguments =>''>;> > >// invalidArguments Error empty string> >// passed> >int> emptyString> >= Integer.parseInt(invalidArguments);> > >// The Converted Intger is out of bound> >// Too large to be called Integer> >int> outOfRangeOfInteger> >= Integer.parseInt(>'geeksforgeeks'>,>29>);> > >// Domain Number System> >int> domainOfNumberSystem> >= Integer.parseInt(>'geeks'>,>28>);> >// Print commands on console> >System.out.println(emptyString);> >System.out.println(outOfRangeOfInteger);> >System.out.println(domainOfNumberSystem);> >}> }> |
>
Alphabet zu Zahlen
>
Ausgabe

Ebenso können wir die Zeichenfolge in jeden anderen primitiven Datentyp konvertieren:
- parseLong(): Analysiert die Zeichenfolge in Long
- parseDouble(): Analysiert die Zeichenfolge in „Double“, wenn wir die Zeichenfolge in eine Ganzzahl umwandeln möchten ohne parseInt() zu verwenden , wir können benutzen Wert von() Methode . Es gibt auch zwei Varianten ähnlich parseInt()
- Unterschied zwischen parseInt() und valueOf(): parseInt() analysiert die Zeichenfolge und gibt den primitiven Integer-Typ zurück. valueOf() gibt jedoch ein Integer-Objekt zurück.
Notiz: valueOf() verwendet intern parseInt() zur Konvertierung in eine Ganzzahl.
Ein weiterer Ansatz zum Konvertieren eines Strings in eine Ganzzahl
Neben der parseInt()-Methode in Java gibt es eine weitere Methode zur Konvertierung von String in Integer. Nachfolgend finden Sie die Implementierung der valueOf()-Methode
valueOf()-Methode
Die Methode Integer.valueOf() konvertiert einen String in ein Integer-Objekt. Lassen Sie uns dies anhand eines Beispiels verstehen.
Nachfolgend finden Sie die Implementierung der oben genannten Methode:
Java
Zeichenfolge in char Java
// Java Program to Demonstrate> // Working of valueOf() Method> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Custom wide-varied inputs to illustrate> >// usage of valueOf() method> >int> decimalExample = Integer.valueOf(>'20'>);> >int> signedPositiveExample = Integer.valueOf(>'+20'>);> >int> signedNegativeExample = Integer.valueOf(>'-20'>);> >int> radixExample = Integer.valueOf(>'20'>,>16>);> >int> stringExample = Integer.valueOf(>'geeks'>,>29>);> >// Print statements> >System.out.println(decimalExample);> >System.out.println(signedPositiveExample);> >System.out.println(signedNegativeExample);> >System.out.println(radixExample);> >System.out.println(stringExample);> >}> }> |
>
>Ausgabe
20 20 -20 32 11670324>