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.