Как преобразовать String в Int в Java? Если String содержит только числа, то лучший способ преобразовать String в Int - использовать Integer.parseInt()
или Integer.valueOf()
.
Если строка содержит как числа, так и символы, мы должны использовать регулярные выражения для извлечения чисел из строки, а затем преобразовать полученную строку в 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