Làm thế nào để chuyển String sang Int trong Java? Nếu String chỉ chứa số, cách tốt nhất là dùng Integer.parseInt() hoặc Integer.valueOf().
Nếu String chứa cả chữ và số, cần dùng regular expression để trích xuất số rồi mới chuyển.
Lưu ý: parseInt(String) trả về primitive int, còn valueOf(String) trả về object Integer.
Chuyển String sang Int trong Java
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);
}
}
Kết quả: 1234
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);
}
}
Kết quả: 1234
Lưu ý quan trọng: Nếu String chứa ký tự không phải số (ví dụ "1234abcd"), sẽ ném NumberFormatException.
- Tại sao override toString() trong Java
- Cách đảo ngược chuỗi trong Java
- Cách trích xuất số từ chuỗi
- Cách so sánh chuỗi trong Java
Dùng Integer.decode()
Có thể dùng Integer.decode(). Điểm thú vị: hỗ trợ chuyển đổi cơ số khác như 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);
}
}
Kết quả: 1234
Apache Commons NumberUtils
Có thể dùng class NumberUtils của Apache Commons Lang. Thêm dependency vào pom.xml:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
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);
}
}
Kết quả: 1234