English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يسترداد قيمة int من معامل long المحدد باستخدام طريقة Math toIntExact() في Java.
نظام الأنماط toIntExact()
Math.toIntExact(long value)
ملاحظة∶ toIntExact() هي طريقة ثابتة. لذلك، يمكننا استخدام اسم فئة Math لاستدعاء هذه الطريقة.
value - المعامل الذي سيتم تحويله إلى int
استرداد قيمة int من قيمة long المحددة
class Main { public static void main(String[] args) { // إنشاء متغير long long value1 = 52336L; long value2 = -445636L; // تغيير long إلى int int num1 = Math.toIntExact(value1); int num2 = Math.toIntExact(value2); // طباعة قيمة int System.out.println(num1); // 52336 System.out.println(num2); // -445636 } }
في المثال السابق، استخدمنا طريقة Math.toIntExact() للحصول على قيمة int من متغير long معين.
إذا كان القيمة العائدة من نوع int ليست في نطاق نوع البيانات int، فإن طريقة toIntExact() ستسبب استثناءً.
class Main { public static void main(String[] args) { //创建一个long变量 long value = 32147483648L; //将long转换为int int num = Math.toIntExact(value); System.out.println(num); } }
في المثال السابق، قيمة المتغير long هي 32147483648. عند تحويل المتغير long إلى int، فإن قيمة النتيجة تتجاوز نطاق نوع البيانات int.
لذلك، يسبب طريقة toIntExact() استثنائي الزيادة في النطاق (integer overflow)。