Làm thế nào để chuyển đổi một chuỗi thành một Int trong Java? Nếu Chuỗi chỉ chứa các số, thì cách tốt nhất để chuyển đổi Chuỗi thành Int là sử dụng Integer.parseInt()
hoặc Integer.valueOf()
.
Nếu Chuỗi chứa cả số và ký tự, thì chúng ta phải sử dụng biểu thức chính quy để trích xuất các số từ chuỗi và sau đó chuyển đổi Chuỗi kết quả thành Int.
Một điều cần lưu ý là parseInt(String)
trả về một int nguyên thủy, trong khi valueOf(String)
trả về một đối tượng Integer ().
Chuyển đổi chuỗi thành Int trong Java
Sử dụng Integer.parseInt ()
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);
}
}
Đầu ra:
1234
Sử dụng Integer.valueOf ()
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);
}
}
Đầu ra:
1234
Điều quan trọng cần lưu ý là nếu Chuỗi chứa các ký tự và số như “1234abcd” thì trình phân tích cú pháp Số nguyên sẽ ném NumberFormatException như đã nêu trong Javadoc.
Có liên quan:
- Tại sao lại ghi đè toString () trong Java
- Cách đảo ngược các chuỗi trong Java
- Cách trích xuất các số từ một chuỗi
- Cách so sánh các chuỗi trong Java
Sử dụng Integer.decode ()
Chúng tôi cũng có thể sử dụng Integer.decode()
. Một tính năng thú vị của decode
là nó có thể chuyển đổi sang các cơ sở khác, chẳng hạn như base 10
, base 16
, v.v.…
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);
}
}
Đầu ra:
1234
Apache Commons NumberUtils Class
Cuối cùng nhưng không kém phần quan trọng, chúng ta có thể sử dụng lớp Apache Commons NumberUtils để chuyển đổi String thành Int trong Java.
Tất cả những gì bạn cần làm là có phần phụ thuộc sau trong pom.xml
của mình tệp
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
Sau đó, bạn có thể sử dụng:
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);
}
}
Đầu ra:
1234