Existují dva způsoby, jak převést String na Integer v Javě,
- Řetězec na celé číslo pomocí Integer.parseInt ()
- Řetězec na celé číslo pomocí Integer.valueOf ()
Предложить лучший вариант перевода
String strTest = “100”;Zkuste provést nějakou aritmetickou operaci, jako je dělení 4 - to vám okamžitě ukáže chybu kompilace.
class StrConvert{public static void main(String []args){String strTest = "100";System.out.println("Using String: + (strTest/4));}}
Výstup:
/StrConvert.java:4: error: bad operand types for binary operator '/'System.out.println("Using String: + (strTest/4));
Proto musíte před provedením numerických operací na něm převést řetězec na int
Příklad 1: Převést řetězec na celé číslo pomocí Integer.parseInt ()
Syntaxe metody parseInt takto:
int= Integer.parseInt( );
Předejte řetězcovou proměnnou jako argument.
Tím se převede řetězec Java String na java Integer a uloží se do zadané celočíselné proměnné.
Zkontrolujte níže uvedený fragment kódu
class StrConvert{public static void main(String []args){String strTest = "100";int iTest = Integer.parseInt(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);//This will now show some arithmetic operationSystem.out.println("Arithmetic Operation on Int: " + (iTest/4));}}
Výstup:
Actual String:100Converted to Int:100Arithmetic Operation on Int: 25
Příklad 2: Převést řetězec na celé číslo pomocí Integer.valueOf ()
Metoda Integer.valueOf () se také používá k převodu řetězce na celé číslo v Javě.
Následuje příklad kódu, který ukazuje proces použití metody Integer.valueOf ():
public class StrConvert{public static void main(String []args){String strTest = "100";//Convert the String to Integer using Integer.valueOfint iTest = Integer.valueOf(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);//This will now show some arithmetic operationSystem.out.println("Arithmetic Operation on Int: + (iTest/4));}}
Výstup:
Actual String:100Converted to Int:100Arithmetic Operation on Int:25
NumberFormatException
NumberFormatException je vyvolána Pokud se pokusíte analyzovat neplatný číselný řetězec. Například řetězec 'Guru99' nelze převést na celé číslo.
Příklad:
public class StrConvert{public static void main(String []args){String strTest = "Guru99";int iTest = Integer.valueOf(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);}}
Výše uvedený příklad dává následující výjimku ve výstupu:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"