Cách chuyển đổi long thành int trong Java

Cach Chuyen Doi Long Thanh Int Trong Java



Trong Java, có thể có một số tình huống mà nhà phát triển cần tiết kiệm bộ nhớ một cách hiệu quả. Chẳng hạn, phân bổ kiểu dữ liệu có phạm vi giá trị tương đối nhỏ hơn hoặc loại bỏ các giá trị thừa. Trong những trường hợp như vậy, việc chuyển đổi của “ dài ' ĐẾN ' int” trong Java có hiệu lực bằng cách hợp lý hóa các hoạt động số học, độ phức tạp của mã và mất ít thời gian thực hiện hơn.

Bài viết này sẽ giải thích chi tiết về cách chuyển đổi “long” thành “int” trong Java.

'Long' và 'int' trong Java là gì?

Các ' dài ” gõ trong phạm vi Java từ “ -9223372036854775808 ' ĐẾN ' 922337203685477580 ” và được phân bổ “ 64 ' chút ít. Các ' int ' loại, tuy nhiên, chiếm ' 32 ” các bit khác nhau từ “ -2147483648 ' ĐẾN ' 2147483647 ”. Điều này ngụ ý rằng bất kỳ số lượng “ int ” các loại có thể dễ dàng được hỗ trợ bởi một “ dài ” nhưng không phải lúc nào cũng vậy.







Làm cách nào để chuyển đổi “long” thành “int” bằng Java?

Để chuyển đổi ' dài ' ĐẾN ' int ” trong Java, hãy áp dụng các phương pháp sau:



Cách tiếp cận 1: Chuyển đổi long thành int trong Java bằng phương thức “Math.toIntExact()”

Các ' Math.toIntExact() ” phương thức trong Java cung cấp cho “ int ” giá trị từ việc cung cấp “ dài ' lý lẽ. Phương pháp này có thể được áp dụng để vượt qua “ dài ” làm đối số và trả về dưới dạng số nguyên.



cú pháp





Toán học . toIntExact ( dài val )

Trong cú pháp này, “ val dài ” đề cập đến giá trị cần được trả về dưới dạng “ int ”.

Ví dụ
Hãy xem tổng quan ví dụ sau:



công cộng lớp học longtoint2 {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây [ ] tranh luận ) {
dài lựa chọn1 = 8624675L ;
dài val2 = 3482398L ;
int cập nhậtVal1 = Toán học . toIntExact ( lựa chọn1 ) ;
int cập nhậtVal2 = Toán học . toIntExact ( val2 ) ;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal1 ) ;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal2 ) ;
}
}

Trong đoạn mã này, hãy thực hiện các bước sau:

  • Đầu tiên, khởi tạo hai “ dài ” giá trị.
  • Ghi chú: Các quy định ' l ” trong các giá trị đại diện và phân biệt “ dài ” giá trị từ “ int ” giá trị.
  • Sau đó, áp dụng “ Math.toIntExact() ” hai lần và tích lũy cả hai giá trị long đã khởi tạo, làm tham số của nó để chuyển đổi chúng thành số nguyên.
  • Cuối cùng, ghi lại các giá trị số nguyên đã chuyển đổi trên bàn điều khiển.

đầu ra

Trong kết quả trên, có thể phân tích rằng các giá trị số nguyên tương ứng được hiển thị.

Ghi chú: Quá trình chuyển đổi (dài thành int) hoạt động tốt khi giá trị của “ dài ” nhỏ hơn hoặc bằng giá trị lớn nhất của “ int ”, tức là, (2147483647). Trong trường hợp khác, xảy ra lỗi và có thể mất dữ liệu.

trình diễn
Hãy quan sát khái niệm được thảo luận dẫn đến giới hạn:

Trong ví dụ trên, chỉ cần tăng cái sau “ dài ” giá trị và thực hiện chuyển đổi. Điều này sẽ dẫn đến việc gặp phải “ Tràn số nguyên ” giới hạn do giá trị chuyển đổi vượt quá giới hạn “ int ” giới hạn tối đa.

Cách tiếp cận 2: Chuyển đổi long thành int trong Java bằng cách sử dụng “Narrow Typecasting”

đánh máy ” tương ứng với việc gán một giá trị của một kiểu dữ liệu nguyên thủy cho một kiểu dữ liệu khác. Trong trường hợp này, “ thu hẹp đánh máy ” có hiệu lực vì loại dữ liệu cao hơn, tức là, “ dài ” được chuyển thành kiểu dữ liệu thấp hơn “ int ”. Điều này có thể đạt được bằng cách chỉ cần đặt giá trị cần được chuyển đổi theo sau là loại mong muốn trong ngoặc đơn.

Ví dụ
Ví dụ sau giải thích khái niệm được thảo luận:

công cộng lớp học longtoint {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây [ ] tranh luận ) {
dài lựa chọn1 = 647467L ;
dài val2 = 348 239L ;
int cập nhậtVal1 = ( int ) lựa chọn1 ;
int cập nhậtVal2 = ( int ) val2 ;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal1 ) ;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal2 ) ;
}
}

Trong các dòng mã trên:

  • Tương tự như vậy, khởi tạo hai “ dài ” giá trị.
  • Trong bước tiếp theo, hãy áp dụng “ đánh máy hẹp ” cách tiếp cận bằng cách đặt giá trị cần được chuyển đổi theo sau là loại mong muốn, tức là, “ int ”.
  • Cuối cùng, hiển thị “ int ” các giá trị trên bảng điều khiển.

đầu ra

Trong kết quả đầu ra này, có thể thấy rằng “ dài ” các giá trị được chuyển đổi thành “ int ” giá trị, một cách thích hợp.

Cách 3: Chuyển đối tượng dài thành int trong Java Sử dụng Phương thức “intValue()”

Các ' intValue() ” phương thức trong Java trả về giá trị của số được liên kết ở dạng “ int ”. Phương pháp này có thể được triển khai để đơn giản chuyển đổi “ các đối tượng ” thành số nguyên.

Ví dụ
Xem qua ví dụ được cung cấp bên dưới để thực hiện chuyển đổi:

công cộng lớp học longtoint3 {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây [ ] tranh luận ) {
val1 dài = mới Dài ( 8624675L ) ;
val2 dài = mới Dài ( 3482398L ) ;
int cập nhậtVal1 = lựa chọn1. intValue ( ) ;
int cập nhậtVal2 = val2. intValue ( ) ;;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal1 ) ;
Hệ thống. ngoài . bản in ( 'Giá trị số nguyên là:' + cập nhậtVal2 ) ;
}
}

Trong khối mã trên:

  • Trước hết, hãy tạo hai “ dài ” đối tượng thông qua “ mới ” từ khóa và “ Dài() ” hàm tạo tương ứng.
  • Trong các tham số của hàm tạo, hãy chỉ định các giá trị dài cần được chuyển đổi thành “ int ”.
  • Bây giờ, hãy liên kết “ intValue() ” với cả hai đối tượng đã tạo và chuyển đổi “ dài ” giá trị thành “ số nguyên ” và hiển thị chúng.

đầu ra

Kết quả trên ngụ ý rằng các giá trị đối tượng được chuyển đổi thành “ số nguyên ' thích hợp.

Phần kết luận

Để chuyển đổi long thành int trong Java, hãy áp dụng “ Math.toIntExact() ” phương pháp, “ Đánh máy hẹp ” cách tiếp cận, hoặc “ intValue() ' phương pháp. Các cách tiếp cận này chuyển đổi giá trị và đối tượng dài được khởi tạo thành một số nguyên với điều kiện là “ dài ” giá trị cần chuyển đổi không vượt quá giá trị lớn nhất của “ int ”. Blog này hướng dẫn chuyển long sang int bằng Java.