تخطَّ إلى المحتوى

var

استنتاج النوع التلقائي var

var تجعل المترجم يستنتج نوع المتغيّر تلقائيًا من قيمته — أ缩短 وأوضح للكود.

منذ Java 10، var تسمح بكتابة var name = value بدلاً من String name = value. المترجم يستنتج النوع وقت الترجمة فقط — لا يوجد بطء في runtime. لا يمكن استخدامها مع null أو بدون قيمة ابتدائية.

الصياغة

var name = "مرحبًا";      // String
var count = 10;            // int
var list = new ArrayList<String>();

📄 مثال

var name = "Java";         // يستنتج String
var price = 99.99;         // يستنتج double
var numbers = List.of(1,2,3); // يستنتج List<Integer>

// مع loops:
for (var item : numbers) {
    System.out.println(item);
}

أهم النقاط

العنصرالوظيفة
var x = valueالمترجم يستنتج النوع من القيمة الابتدائية
local variable onlyتعمل فقط مع متغيرات محلية — لا حقول ولا معاملات
compile-timeالنوع يُحدَّد وقت الترجمة فقط — لا تأثير runtime

💡 نصائح عملية

  • استخدمها عندما يكون النوع واضحًا من السياق: var list = new ArrayList<>()
  • لا تستخدمها عندما يكون النوع غير واضح: var x = getData(); — أي نوع؟

⚠️ أخطاء شائعة

  • var x; // خطأ — يجب أن تكون لها قيمة ابتدائية
  • var y = null; // خطأ — لا يمكن استنتاج النوع من null

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.