Java toIntExact()

Giới thiệu về phương thức toIntExact() trong Java

Trong lập trình Java, việc chuyển đổi giữa các kiểu dữ liệu là điều hết sức phổ biến, đặc biệt là giữa các kiểu số. Phương thức toIntExact() trong lớp Math được sử dụng để chuyển đổi giá trị kiểu long thành kiểu int một cách an toàn. Nếu giá trị long vượt quá giới hạn của kiểu int, phương thức này sẽ ném ra một ngoại lệ.

Định nghĩa

Phương thức toIntExact(long value) nhận vào một tham số kiểu long và trả về giá trị tương ứng của kiểu int. Phương thức này thuộc về lớp java.lang.Math.

Cú pháp

Math.toIntExact(long value);

Các ví dụ về phương thức toIntExact()

Ví dụ 1: Chuyển đổi giá trị long hợp lệ

long longValue = 100L;
int intValue = Math.toIntExact(longValue);
System.out.println("Giá trị int: " + intValue); // Kết quả: Giá trị int: 100

Ví dụ 2: Chuyển đổi giá trị long vượt quá ngưỡng của int

long longValue = 2147483648L; // (2^31) - 1 + 1, lớn hơn giới hạn của int
try {
    int intValue = Math.toIntExact(longValue);
} catch (ArithmeticException e) {
    System.out.println("Ngoại lệ: " + e.getMessage()); // Kết quả: Ngoại lệ: integer overflow
}

Ví dụ 3: Sử dụng toIntExact() trong toán tử

long longValue1 = 5000000000L;
long longValue2 = 1000000000L;

try {
    int result = Math.toIntExact(longValue1 + longValue2);
    System.out.println("Kết quả: " + result);
} catch (ArithmeticException e) {
    System.out.println("Ngoại lệ: " + e.getMessage()); // Kết quả: Ngoại lệ: integer overflow
}

Kết luận

Phương thức toIntExact() trong Java là một công cụ hữu ích để chuyển đổi giá trị kiểu long thành int, giúp đảm bảo tính an toàn khi làm việc với các giá trị lớn. Chúng ta cần lưu ý kiểm tra các giá trị trước khi thực hiện chuyển đổi để tránh gặp phải lỗi tràn số (overflow). Việc sử dụng đúng phương thức này sẽ giúp các lập trình viên xử lý dữ liệu một cách hiệu quả hơn.