Πώς να μετατρέψετε μια συμβολοσειρά σε Int σε Java; Εάν η συμβολοσειρά περιέχει μόνο αριθμούς, τότε ο καλύτερος τρόπος για να μετατρέψετε τη συμβολοσειρά σε Int είναι με τη χρήση Integer.parseInt()
ή Integer.valueOf()
.
Εάν το String περιέχει αριθμούς και χαρακτήρες, τότε πρέπει να το χρησιμοποιήσουμε κανονικές εκφράσεις για εξαγωγή αριθμών από τη συμβολοσειρά και, στη συνέχεια, μετατρέψτε το προκύπτον String σε Int.
Ένα πράγμα που πρέπει να σημειωθεί είναι ότι parseInt(String)
επιστρέφει ένα πρωτόγονο int, ενώ valueOf(String)
επιστρέφει ένα αντικείμενο Integer ().
public class ConvertStringToInt {
public static void main(String[] args) {
String stringNumber = '1234';
int number = convertStringToInt(stringNumber);
System.out.println(number);
}
private static int convertStringToInt(String number) {
return Integer.parseInt(number);
} }
Παραγωγή:
1234
public class ConvertStringToInt {
public static void main(String[] args) {
String stringNumber = '1234';
int number = convertStringToInt(stringNumber);
System.out.println(number);
}
private static int convertStringToInt(String number) {
return Integer.valueOf(number);
} }
Παραγωγή:
1234
Είναι σημαντικό να σημειωθεί ότι εάν η συμβολοσειρά περιέχει χαρακτήρες και αριθμούς όπως '1234abcd', τότε ο αναλυτής Integer ρίχνει το NumberFormatException όπως αναφέρεται στο Javadoc .
Σχετιζομαι με:
Μπορούμε επίσης να χρησιμοποιήσουμε Integer.decode()
. Ένα ενδιαφέρον χαρακτηριστικό του decode
είναι ότι μπορεί να μετατραπεί σε άλλες βάσεις, όπως base 10
, base 16
, κλπ…
public class ConvertStringToInt {
public static void main(String[] args) {
String stringNumber = '1234';
int number = convertStringToInt(stringNumber);
System.out.println(number);
}
private static int convertStringToInt(String number) {
return Integer.decode(number);
} }
Παραγωγή:
1234
Τέλος, μπορούμε να χρησιμοποιήσουμε την κλάση Apache Commons NumberUtils για να μετατρέψουμε το String σε Int στην Java.
Το μόνο που χρειάζεται να κάνετε είναι να έχετε την ακόλουθη εξάρτηση στο pom.xml
αρχείο
org.apache.commons
commons-lang3
3.9
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε:
import org.apache.commons.lang3.math.NumberUtils; public class ConvertStringToInt {
public static void main(String[] args) {
String stringNumber = '1234';
int number = convertStringToInt(stringNumber);
System.out.println(number);
}
private static int convertStringToInt(String number) {
return NumberUtils.toInt(number);
} }
Παραγωγή:
1234