it-swarm.dev

تهيئة مجموعة الصفيف في Java

إذا أعلنت عن مجموعة String:

String names[] = new String[3];

ثم لماذا لا يمكننا تعيين قيم للصفيف المعلن أعلاه مثل هذا:

names = {"Ankit","Bohra","Xyz"};
81
Ankit Bohra

يمكنك القيام بما يلي أثناء الإعلان:

String names[] = {"Ankit","Bohra","Xyz"};

وإذا كنت تريد القيام بذلك في مكان ما بعد الإعلان:

String names[];
names = new String[] {"Ankit","Bohra","Xyz"};
148
Rohit Jain
names[] = {"Ankit","Bohra","Xyz"};

هو مُهيئ ويستخدم فقط عند إنشاء أو إنشاء كائن جديد صفيف. لا يمكن استخدامها ل ضبط الصفيف. يمكنك استخدامه عند التصريح باسم:

String[] names= {"Ankit","Bohra","Xyz"};

يمكنك أيضا استخدام:

names=new String[] {"Ankit","Bohra","Xyz"};
13
Andrey Akhmetov

أولاً ، هذا ليس له أي علاقة بـ String ، فهو يتعلق بالصفائف .. وذلك بالتحديد حول التهيئة التصميمية للصفائف.

كما ناقش الجميع في كل إجابة تقريبًا هنا ، يمكنك ، أثناء إعلان متغير ، استخدام:

String names[] = {"x","y","z"};

ومع ذلك ، قم بنشر الإعلان ، إذا كنت تريد تعيين مثيل للصفيف:

names = new String[] {"a","b","c"};

AFAIK ، تعريف الجملة هو مجرد السكر النحوي ولم يعد قابلاً للتطبيق عند تعيين القيم للمتغيرات لأنه عندما يتم تعيين القيم تحتاج إلى إنشاء مثيل بشكل صحيح.

ومع ذلك ، إذا سألتنا لماذا هو كذلك؟ حسنا ... حظا سعيدا في الحصول على إجابة لذلك. ما لم يجيب شخص من لجنة جافا على ذلك أو هناك وثائق واضحة تشير إلى قول السكر النحوي .

6
zEro

تقصد مثل:

String names[] = {"Ankit","Bohra","Xyz"};

ولكن يمكنك القيام بذلك فقط في نفس العبارة عندما تعلن ذلك

3
texasbruce

انها ليست مجرد بناء جملة جافا صالح. يمكنك ان تفعل

names = new String[] {"Ankit","Bohra","Xyz"};
2
fastcodejava