บทความนี้จะอธิบายอย่างละเอียดเกี่ยวกับการแปลง 'long' เป็น 'int' ใน Java
'long' และ 'int' ใน Java คืออะไร
“ ยาว ” ชนิดในภาษาจาวามีตั้งแต่ “ -9223372036854775808 ' ถึง ' 922337203685477580 ” และได้รับการจัดสรร “ 64 บิต “ นานาชาติ ” ชนิดไรครอง “ 32 ” บิตตั้งแต่ “ -2147483648 ' ถึง ' 2147483647 '. หมายความว่าจำนวน “ นานาชาติ ” สามารถรองรับประเภทได้อย่างง่ายดายด้วย “ ยาว ” แต่ส่วนใหญ่จะไม่เป็นเช่นนั้นเสมอไป
วิธีแปลง 'long' เป็น 'int' โดยใช้ Java
ในการแปลง “ ยาว ' ถึง ' นานาชาติ ” ใน Java ให้ใช้วิธีการต่อไปนี้:
แนวทางที่ 1: แปลง long เป็น int ใน Java โดยใช้วิธี “Math.toIntExact()”
“ Math.toIntExact() ” วิธีการใน Java ให้ “ นานาชาติ ” มูลค่าจากที่ให้ “ ยาว ' การโต้แย้ง. สามารถใช้วิธีนี้เพื่อผ่าน “ ยาว ” ค่าเป็นอาร์กิวเมนต์และส่งกลับเป็นจำนวนเต็ม
ไวยากรณ์
คณิตศาสตร์ . ถึง IntExact ( ยาว วาล )
ในไวยากรณ์นี้ “ วาลยาว ” หมายถึงค่าที่ต้องส่งคืนเป็น “ นานาชาติ '.
ตัวอย่าง
มาดูภาพรวมตัวอย่างต่อไปนี้:
สาธารณะ ระดับ longtoint2 {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
ยาว ทางเลือก1 = 8624675ล ;
ยาว วาล2 = 3482398L ;
นานาชาติ อัพเดทVal1 = คณิตศาสตร์ . ถึง IntExact ( ทางเลือก1 ) ;
นานาชาติ updVal2 = คณิตศาสตร์ . ถึง IntExact ( วาล2 ) ;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + อัพเดทVal1 ) ;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + updVal2 ) ;
}
}
ในข้อมูลโค้ดนี้ ให้ทำตามขั้นตอนต่อไปนี้:
- ประการแรก เริ่มต้นทั้งสอง ' ยาว ” ค่า
- บันทึก: ที่ระบุ “ แอล ” ในค่าที่แสดงและแยกความแตกต่างของ “ ยาว ” ค่าจาก “ นานาชาติ ” ค่า
- หลังจากนั้นให้ใช้ “ Math.toIntExact() ” เมธอดสองครั้งและสะสมทั้งค่ายาวที่เริ่มต้นไว้เป็นพารามิเตอร์เพื่อแปลงเป็นจำนวนเต็ม
- สุดท้าย บันทึกค่าจำนวนเต็มที่แปลงแล้วบนคอนโซล
เอาต์พุต
จากผลลัพธ์ข้างต้น สามารถวิเคราะห์ได้ว่าแสดงค่าจำนวนเต็มที่เกี่ยวข้อง
บันทึก: กระบวนการแปลง (ยาวเป็น int) ทำงานได้ดีเมื่อค่าของ “ ยาว ” น้อยกว่าหรือเท่ากับค่าสูงสุดของ “ นานาชาติ ” เช่น (2147483647) อีกกรณีหนึ่งคือพบข้อผิดพลาดและข้อมูลอาจสูญหายได้เช่นกัน
สาธิต
ลองสังเกตแนวคิดที่กล่าวถึงซึ่งนำไปสู่ข้อจำกัด:
ในตัวอย่างข้างต้น ให้เพิ่มค่าหลัง “ ยาว ” มูลค่าและดำเนินการแปลง ซึ่งจะนำไปสู่การเผชิญหน้ากับ “ จำนวนเต็มล้น ” ข้อ จำกัด เนื่องจากมูลค่าที่แปลงเกิน “ นานาชาติ ” ขีด จำกัด สูงสุด
วิธีที่ 2: แปลง long เป็น int ใน Java โดยใช้ “Narrow Typecasting”
“ การพิมพ์ ” สอดคล้องกับการกำหนดค่าของข้อมูลดั้งเดิมประเภทหนึ่งให้กับอีกประเภทหนึ่ง ในกรณีนี้ ' การพิมพ์ที่แคบลง ” มีผลตั้งแต่ประเภทข้อมูลที่สูงกว่า เช่น “ ยาว ” ถูกแปลงเป็นประเภทข้อมูลที่ต่ำกว่า “ นานาชาติ '. สามารถทำได้โดยเพียงแค่ใส่ค่าที่ต้องการแปลงตามด้วยประเภทที่ต้องการในวงเล็บ
ตัวอย่าง
ตัวอย่างต่อไปนี้อธิบายแนวคิดที่กล่าวถึง:
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
ยาว ทางเลือก1 = 647467ล ;
ยาว วาล2 = 348 239ล ;
นานาชาติ อัพเดทVal1 = ( นานาชาติ ) ทางเลือก1 ;
นานาชาติ updVal2 = ( นานาชาติ ) วาล2 ;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + อัพเดทVal1 ) ;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + updVal2 ) ;
}
}
ในบรรทัดโค้ดด้านบน:
- ในทำนองเดียวกันให้เริ่มต้นทั้งสอง ' ยาว ” ค่า
- ในขั้นตอนถัดไป ให้ใช้ “ การพิมพ์แบบแคบ ” วิธีการโดยใส่ค่าที่ต้องการแปลงแล้วตามด้วยประเภทที่ต้องการคือ “ นานาชาติ '.
- สุดท้าย แสดงการแปลง “ นานาชาติ ” ค่าบนคอนโซล
เอาต์พุต
จากผลลัพธ์นี้ จะเห็นได้ว่า “ ยาว ” ค่าจะถูกแปลงเป็น “ นานาชาติ ” ค่านิยมอย่างเหมาะสม
วิธีที่ 3: แปลง long Object เป็น int ใน Java โดยใช้วิธี “intValue()”
“ intValue() ” วิธีการใน Java คืนค่าของตัวเลขที่เกี่ยวข้องในรูปแบบของ “ นานาชาติ '. วิธีนี้สามารถนำไปใช้เพื่อแปลง long ที่เกี่ยวข้อง ' วัตถุ ” เป็นจำนวนเต็ม
ตัวอย่าง
ทำตามตัวอย่างด้านล่างเพื่อทำการแปลง:
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
วาลยาว1 = ใหม่ ยาว ( 8624675ล ) ;
ยาว val2 = ใหม่ ยาว ( 3482398L ) ;
นานาชาติ อัพเดทVal1 = ทางเลือก1. intValue ( ) ;
นานาชาติ updVal2 = วาล2. intValue ( ) ;;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + อัพเดทVal1 ) ;
ระบบ. ออก . พิมพ์ ( 'ค่าจำนวนเต็มคือ: ' + updVal2 ) ;
}
}
ในบล็อกรหัสด้านบน:
- ก่อนอื่น สร้างสอง “ ยาว ” วัตถุผ่านทาง “ ใหม่ ” คำหลักและ “ ยาว() ” ตัวสร้างตามลำดับ
- ในพารามิเตอร์คอนสตรัคเตอร์ ระบุค่ายาวที่ต้องแปลงเป็น “ นานาชาติ '.
- ตอนนี้เชื่อมโยง ' intValue() ” วิธีการกับทั้งวัตถุที่สร้างขึ้นและแปลงสะสม “ ยาว ” ค่าเป็น “ จำนวนเต็ม ” และแสดงให้พวกเขาเห็น
เอาต์พุต
ผลลัพธ์ข้างต้นแสดงว่าค่าวัตถุถูกแปลงเป็น “ จำนวนเต็ม ' อย่างเหมาะสม.
บทสรุป
หากต้องการแปลง long เป็น int ใน Java ให้ใช้ปุ่ม “ Math.toIntExact() ” วิธีการ “ Typecasting แคบ ” วิธีการ หรือ “ intValue() ' วิธี. วิธีการเหล่านี้แปลงค่า long และออบเจกต์ที่เริ่มต้นเป็นจำนวนเต็มโดยมีเงื่อนไขว่า “ ยาว ” ค่าที่ต้องแปลงไม่เกินค่าสูงสุดของ “ นานาชาติ '. บล็อกนี้ได้รับคำแนะนำให้แปลง long เป็น int โดยใช้ Java