Kuidas teisendada string int-iks Java-s
Kui soovite Java-s stringi teisendada int-iks, on teil kaks lihtsat võimalust – parseInt() ja valueOf(). Mõlemad võimalused toimivad aga ainult juhul, kui string sisaldab ainult täisarve ja ei ületa int-andmetüübi väärtuste vahemikku.
Mis on stringi teisendamine int-iks Java-s?
Java stringid on ühendused, mis võivad sisaldada tähti, numbreid ja erimärke. Java programmeerimiskeeles saab täisarvude kujul olevaid numbreid salvestada int-tüüpi muutujana. Kui teil on string, mis sisaldab ainult täisarve, saate selle teisendada Java primitiivse int-tüüpi muutujaks, mis tähistab täisarvu. Kuigi Java int-tüüpi muutuja stringiks teisendamiseks on 5 erinevat viisi, on Java stringi int-tüüpi muutujaks teisendamiseks ainult 2 peamist viisi. Need on Integer parseInt() ja Integer.valueOf(). Allpool selgitame praktiliste näidete abil, kuidas need meetodid toimivad.
Pange tähele, et see teisendus toimib ainult juhul, kui kõnealune number on vahemikus -2147483648 kuni 2147483647. Suuremaid või väiksemaid numbreid ei saa esitada int-andmetüübiga.
Kuidas kasutada Integer.parseInt()
parseInt() on staatiline meetod, mis kuulub klassi Integer ja tagastab kompleksse andmetüübi string numbrilise väärtuse primitiivse andmetüübi int kujul. Selle süntaks on järgmine:
static int parseInt(String s)javaVaatame ühte näidet. Esmalt algatame stringi, mis sisaldab väärtust „7312” ja mitte midagi muud. Seejärel teisendame selle Java stringi int-tüüpi kasutades parseInt() ja lõpuks väljastame tulemuse kasutades Java käsku System.out.println. Kood näeb välja järgmine:
public class Main {
public static void main(String args[]) {
String str = "7312";
int number = Integer.parseInt(str);
System.out.println("The numerical value of the string is: " + number);
}
}javaSiin on väljund:
The numerical value of the string is: 7312
``
However, this only works if the string exclusively **contains whole numbers**. If it contains anything else, you’ll get an error message:
```java
public class Main {
public static void main(String args[]) {
String str = "The number is 7312";
int number = Integer.parseInt(str);
System.out.println("The number from the string is: " + number);
}
}javaSiin on veateade:
Exception in thread "main" java.lang.NumberFormatException: For input string: " The number is 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)javaKuidas kasutada Integer.valueOf()
Integer.valueOf()veel üks Integer-klassi meetod. See väljastab string-objekti kümnendmõõtmise ja on seega kasulik ka Java stringi int-tüüpi teisendamiseks. Selle süntaks on järgmine:
static int valueOf(int a)javaVõtame lihtsa näite:
public class Main {
public static void main(String args[]) {
String newString = "7312";
int parNumber = Integer.valueOf(newString);
System.out.println("The numerical value of the string is: " + parNumber);
}
}javaSaate taas järgmise tulemuse:
The numerical value of the string is: 7312javaKui string sisaldab midagi muud peale täisarvu, saame sama veateate, mis eespool.