Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Hướng dẫn Java: Chuyển đổi String sang Integer - Ví dụ & Best Practices

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