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 الكامل بالعربي.