"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني بأمان الإرسال لفترة طويلة إلى Int في Java؟

كيف يمكنني بأمان الإرسال لفترة طويلة إلى Int في Java؟

تم النشر بتاريخ 2024-11-09
تصفح:230

How Can I Safely Cast Long to Int in Java?

الإرسال بأمان إلى Int في Java: حل شامل

عند العمل مع الأنواع الرقمية في Java، من الضروري التأكد من أن الإرسال العمليات لا تؤدي إلى فقدان البيانات. هذا مهم بشكل خاص عند تحويل القيم الطويلة إلى int، حيث أن دقة long يمكن أن تتجاوز دقة int.

Java 8: تبسيط العملية

قبل Java 8 ، يتطلب الإرسال الطويل بأمان إلى int فحصًا شاقًا للتحقق من أن التحويل لم يغير القيمة. ومع ذلك، مع تقديم Java 8، تمت إضافة طريقة جديدة تعمل على تبسيط هذه العملية:

import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);
تطرح طريقة toIntExact استثناءً حسابيًا إذا كان الإرسال سيؤدي إلى تجاوز السعة، مما يضمن الحفاظ على تكامل البيانات.

طرق إضافية آمنة لتجاوز السعة

قدم Java 8 أيضًا العديد من الطرق الأخرى الآمنة للتجاوز. تنتهي جميع هذه الطرق بـ "exact" وتوفر الوظائف التالية:

    Math.incrementExact(long): زيادة القيمة الطويلة بمقدار واحد.
  • Math.subtractExact(long, long ): يطرح قيمة طويلة من أخرى.
  • Math.decrementExact(long): يقلل قيمة طويلة بمقدار واحد.
  • Math.negateExact(long): يلغي القيمة الطويلة.
  • Math.subtractExact(int, int): يطرح قيمة واحدة من قيمة أخرى.
الاستنتاج

باستخدام طريقة toIntExact وغيرها من التجاوزات- الطرق الآمنة المضافة في Java 8، يمكن للمطورين بثقة إرسال القيم الطويلة إلى int دون التضحية بدقة البيانات. وهذا أمر بالغ الأهمية للحفاظ على سلامة الحسابات الرقمية وضمان موثوقية التعليمات البرمجية.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3