استنتاج النوع باستخدام var
استخدم var لاستنتاج نوع المتغيرات المحلية — ضجيج أقل بنفس الأمان.
مقارنة الكود
✕ Java 8
Map<String, List<Integer>> map =
new HashMap<String, List<Integer>>();
for (Map.Entry<String, List<Integer>> e
: map.entrySet()) {
// verbose type noise
}
✓ Java 10+
var map = new HashMap<String, List<Integer>>();
for (var entry : map.entrySet()) {
// clean and readable
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
كليشيه أقل
لا حاجة لتكرار الأنواع العامة المعقدة على كلا جانبي التعيين.
قابلية قراءة أفضل
ركّز على أسماء المتغيرات والقيم لا على تصريحات الأنواع.
آمن من حيث الأنواع
يستنتج المترجم النوع الدقيق ويطبّقه وقت الترجمة.
الأسلوب القديم
أنواع صريحة
الأسلوب الحديث
الكلمة المفتاحية var
منذ JDK
10
الصعوبة
مبتدئ
دعم JDK
استنتاج النوع باستخدام var
متاح
متاح على نطاق واسع منذ JDK 10 (مارس 2018)
كيف يعمل
منذ Java 10، يستنتج المترجم أنواع المتغيرات المحلية من الجانب الأيمن. يقلّل هذا الضجيج البصري دون التضحية بأمان الأنواع. استخدم var عندما يكون النوع واضحاً من السياق.
توثيق ذو صلة