الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مفاجأت الـ JDK7 مع الـ Switch , tryCatch Block

بدأه Mahmoud Kelany في 10 يونيو 2011 · 20 رد · 1,024 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

هناك بعض المميزات والمفاجات التى يمكنك مشاهدتها فى تسهيل الكود مع JDK7

عندك مثلا استخدام Switch مع الـ String بدلا من استخدام الـ If..else

وممكن استخدام الـ List هكذا مثلا

List<String> list = new ArrayList<>();

كنت فالـJDK6 تستخدمها هكذا

List<String> list = new ArrayList<String>();

يمكنك استخدام الـ trycatch

هكذا

try{
...
....
}catch(IOExpetion  | Expetion ex ){
}

وهناك شىء اخر

مثلا اذا كنت تريد عمل ServerSocket

تفعلها هكذا فى الـ JDK6

try {
            	serverSocket = new ServerSocket(5353);
        	}finally{
            	System.out.println("Server Stated.");
        	}

لكن مع JDK7 يمكنك فعلها هكذا

try (serverSocket = new ServerSocket(5353)){
            	System.out.println("Server Stated.");
        	}

يمكنك مشاهده هذا الفيديو

هيوضح اكثر لك كيفيه تشغيل ذلك

http://bits.netbeans...a/jdk7-nb70.swf

بالتوفيق ان شاء الله

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 10 يونيو 2011 في 17:13

5

Software Developer
Mahmoudkelany.com


 

#2

دائما مبدع ومشاركاتك مفيدة

شكرا جزيلا اخي على هذه المعلومات

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#3

هلا كلمتنا عن هذه الأمور

الأولى لا أعتقد أنها مفيدة ولا حتى لترتيب الكود

الثانية مفيدة لكنك طرحت مثال لم يعبر عن الموضوع

وأفضل مثال عن الموضوع هو أي Exception لا يوجد جدود مشتركة بينهم

الثالثة لا أدري لماذا أعتقد أنها أيضاً سيئة لأنها تقلل إمكانية قراءة الشيفرة readability

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4
علاء الصالحي كتب:

هلا كلمتنا عن هذه الأمور

الأولى لا أعتقد أنها مفيدة ولا حتى لترتيب الكود

الثانية مفيدة لكنك طرحت مثال لم يعبر عن الموضوع

وأفضل مثال عن الموضوع هو أي Exception لا يوجد جدود مشتركة بينهم

الثالثة لا أدري لماذا أعتقد أنها أيضاً سيئة لأنها تقلل إمكانية قراءة الشيفرة readability

تحياتي

اولا هذا الموضوع انا لسه شايفه من خلال الفيديو امبارح

فقولت افيدكوا بيهم

انما معرفش بصراحه ليه هما عملوا اول حاجه كدا

دا على اعتبار ان الكومبيلر هيعرف ان نوعها من نفس النوع الذى ذكر فى بدايه الـ

List<String>

مش فاهم ازاى طرحت مثال لم يعبر عن الموضوع

انا قصدت انك ممكن تعمل try مع اكثر من Catch لكن ممكن تعملها بالطريقه اللى ذكرتها سابقا

اى نعم لا يوجد حدود مشتركه بينهم لكن فاالاخر هناك مبدا الـ polymorphism اعتقد هذا هو المستخدم هنا

قد تكون الثالثه سيئة لكنها وسيله لكتابه الكود

لكن ستجدها بعد ذلك سهله القراءه لانك هتتعود عليها

Software Developer
Mahmoudkelany.com


 

#5

ان اعتقد انه افضل ميزه في JDK 7 من وجهة نظري هي امكانية استخدام الstring في الswitch وديه ميزه سبقتها سي شارب فيها

التعديلات في الكولكيشنز والجينريكس دائما تثير الجدل في جافا وكثير من المبرمجين المحترفين يكرهونها

اكثر ما اتطلع اليه هو اضافه امكانية البرمجه functional programming بجافا

موضوع جميل يا استاذ محمود :) مع اني كنت اتطلع ان يكون على شكل درس مفصل ليستفيد منه الاعضاء

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#6
mental-driller كتب:

ان اعتقد انه افضل ميزه في JDK 7 من وجهة نظري هي امكانية استخدام الstring في الswitch وديه ميزه سبقتها سي شارب فيها

التعديلات في الكولكيشنز والجينريكس دائما تثير الجدل في جافا وكثير من المبرمجين المحترفين يكرهونها

اكثر ما اتطلع اليه هو اضافه امكانية البرمجه functional programming بجافا

موضوع جميل يا استاذ محمود :) مع اني كنت اتطلع ان يكون على شكل درس مفصل ليستفيد منه الاعضاء

ما هى من وجهه نظرى ايضا ان الـ Switch تقبل String افضل شىء

لكن التعديل فى الاشياء الاخرى ليس لها اهميه بالنسبه لنا كثيرا , وقد تضايقنا

لكن قد يكون لها معنى اخر فى حاله الكومبيل

بالنسبه للتفصيل بصراحه انا وضعته امبارح

وانا كان عندى امتحان النهارده فبالنسبه للشرح او التعمق فى التفاصيل بصراحه ليس لدى الوقت الان فى ذلك

ان كان احد لديه وقت فى البحث وافادتنا بالتفاصيل اكثر فأهلا به

Software Developer
Mahmoudkelany.com


 

#7

أخطأت أنا المثال صحيح مئة بالمئة

بالنسبة لموضوع المترجم حاسسها مش إضافة جيدة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#8
علاء الصالحي كتب:

أخطأت أنا المثال صحيح مئة بالمئة

بالنسبة لموضوع المترجم حاسسها مش إضافة جيدة

تحياتي

طب الحمدلله :)

امممم مش عارف بصراحه انت اعلم منى بذلك

Software Developer
Mahmoudkelany.com


 

#9

بتوع الجافا باين مش لاقيين حاجة يعملوها

وشكرا

#10

بيحاولوا يسهلوا على المستخدمين

بس المشكلة أنهم هيفقدوا اللغة بساطة القراءة للمحتوى readability

بهذه الإضافات الجميلة :)

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11
NarutoMan كتب:

بتوع الجافا باين مش لاقيين حاجة يعملوها

وشكرا

هناك تعديلات كثيره غير المذكوره هنا ، انظر مثلا هنا

http://en.wikipedia.org/wiki/Java_7#Java_SE_7.0

التعديلات الجديده في الجافا تاتي دائما بناء على طلب المبرمجين واحتياجاتهم بالاضافه الى اخذ راي مهندسين شركة صن في هذه الاضافات واماكايناتها

لان اكبر مشكله هي في كيفيه ابقاء الاكواد القديمه تعمل تحت الJDK الجديد

بعض التعديلات التي تحتاج وقت كبير يتم تاجيل الى اصدار اخر مثل تاجيل دعم الlambda expression الى الاصدار الثامن في السنه القادمه

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#12

شكرا على الرد يا اخ علاء الصالحي و يا اخ mental-driller

ولكن كان التطوير من الممكن ان يكون فى اشياء اهم

كمثال: ال TrayIcon بدلا من انها تسنخدم ال PopupMenu تستخدم ال JPopupMenu

هذا هو التطوير لانها تسبب لى مشاكل كثيرة ومنها انى لا استطيع ان اضع radioButton فى ال PopupMenu ولا ال Menu

وشكرا

#13

بالنسبه للـ Menu فيمكنك وضعها

انما فعلا مفيش RadioButton لكن فيه CheckBox , CheckBoxMenuItem

تفى بالغرض

وعلى حد علمى ان هذه الاشياء تقريبا على ما اتذكر يعنى انها native

يعنى بتقول عاوز اعمل Button بيتعمل بناء على النظام الذى تعمل عليه

وكمان الـ TryIcon مش انت اللى بتحطها بايدك النظام اللى بيحطها ليك

فبالتالى مفيش تطوير علشان كلها بتعتمد على نظام التشغيل نفسه

هذا ما اعلم

Software Developer
Mahmoudkelany.com


 

#14

موضوع جميل

بس هل الاكواد القديمه هتشتغل علي ال JDK7

ولا لا؟؟؟

و ايه الجينيركس الجديده اللي ضافوها

بجد بدات اتضايق من جافا جدا ,,مفيش حاجا معملوهاش

يعني مثلا زي السوكت كلنا اشتغلنا سوكتس لكن محدش عارف هما عملوها ازاي

ولا حد عارف ازاي الداتا بتتبعت ازاي و ازاي بيتم تقطيع الباكتس

دي وصلت انهم عملو باكدج اسمها JYoutube

ليا صديق كان بيحكي علي موضوع اليوتيوب دا بس انا مجربتوش

#15

Alex programmer كتب:

موضوع جميل

اشكرك دا بس من ذوقك

بس هل الاكواد القديمه هتشتغل علي ال JDK7

لا ازاى طبعا شغاله اكيييييييد

و ايه الجينيركس الجديده اللي ضافوها

تقريبا مش عملوا فيها حاجه قللوا الكود شويه بسيطه ههههههه

بجد بدات اتضايق من جافا جدا ,,مفيش حاجا معملوهاش

ودى حاجه تضايق ولا تبسطك انك مش تهتهم بالتفاصيل وتبدع

لكن انا عارف وعن تجربه شخصيه انها مش مظبوطه لانها بتضطرك لاستخدام لغه برمجه اخرى فى بعض الاشياء اللى هيا

Low Level Programming

يعني مثلا زي السوكت كلنا اشتغلنا سوكتس لكن محدش عارف هما عملوها ازاي

اهى هى دى التجربة هههههههههه بس مش مع السوكت مع الـ InetAddress

ولا حد عارف ازاي الداتا بتتبعت ازاي و ازاي بيتم تقطيع الباكتس

هو كان فعلا المشكله عندى فالـPackets انى ازاى ابعتها لكل الاجهزه او بمعنى اصح احصل على ARP Table اضطريت استخدم مكتبه اسمها JPcap

دي وصلت انهم عملو باكدج اسمها JYoutube

لا مفيش حاجه اسمها كدا انا دورت ومش لقيت

الا جوجل بس هيا اللى عامله حاجه زى كدا

زى دى كدا

http://code.google.com/apis/youtube/2.0/developers_guide_java.html

http://code.google.com/apis/youtube/code.html

Software Developer
Mahmoudkelany.com


 

#16

أعلم لكني أرى هذه الإضافات غير مفيدة كما ذكرت مسبقاً

لهذا أحاول أن أفهم ربما تاه عني شيء ما

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#17
Mahmoud Kelany كتب:

بالنسبه للـ Menu فيمكنك وضعها

انما فعلا مفيش RadioButton لكن فيه CheckBox , CheckBoxMenuItem

تفى بالغرض

وعلى حد علمى ان هذه الاشياء تقريبا على ما اتذكر يعنى انها native

يعنى بتقول عاوز اعمل Button بيتعمل بناء على النظام الذى تعمل عليه

وكمان الـ TryIcon مش انت اللى بتحطها بايدك النظام اللى بيحطها ليك

فبالتالى مفيش تطوير علشان كلها بتعتمد على نظام التشغيل نفسه

هذا ما اعلم

يا سلام م انا لو استخدمت ال CheckBoxMenuItem يبقى لازم اعمل الكلاس بتاعة ال radioButton واعمل كلاس اسمها CheckBoxsGroub من جديد كانى مطور جافا ودى حاجة صعبة وانا محتاجها

وبعدين فيها اية لما تكون ال TrayIcon من native language م الجافا كلها من native language يعنى لو عقدو النية هيعملوها

#18

إضافة رائعة بخصوص جملة الإنتقاء switch وبتقبل نوع string افضل من التقيد بنوع int فقط

على العكس روعة

switch ( name ) 
{
case "Jhone": //print stop kidding;
case "Mohmmed": // print leave me alone;
}

اضافة كتير روعة

شكراً

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#19
NarutoMan كتب:

يا سلام م انا لو استخدمت ال CheckBoxMenuItem يبقى لازم اعمل الكلاس بتاعة ال radioButton واعمل كلاس اسمها CheckBoxsGroub من جديد كانى مطور جافا ودى حاجة صعبة وانا محتاجها

وبعدين فيها اية لما تكون ال TrayIcon من native language م الجافا كلها من native language يعنى لو عقدو النية هيعملوها

ياعم خلاص ولا تزعل نفسك خالص

ايه رايك فى دى ؟

http://download.java.net/javadesktop/swinglabs/releases/0.8/docs/api/org/jdesktop/jdic/tray/TrayIcon.html

ودا مثال عليها

http://kickjava.com/src/Tray.java.htm

وحملها من هنا

http://download.java.net/javadesktop/swinglabs/releases/0.8/swinglabs-0.8.0-bin.zip

وفى دى كمان

http://www.jpackages.com/jtray/

بس دى حاجات DLL وحاجات رخمه كدا

انما الاولى دى بتاعت الجافا بقا :)

اى خدعه بقا مش عندنا امتحان بكرا يا عم الحاج

مش بتذاكر ليه خلتنى اقعد ادور لك وانت بتذاكر

Software Developer
Mahmoudkelany.com


 

#20

أنا كنت أتكلم على الإضافات التي عرضها محمود

ولم أرى أي إضافات أخرى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#21

انا شايف ان الميزة الوحيده هى

جملة switch بتقبل string افضل من انها بتاخد نوع int فقط

والباقى عادى خالص

سأل الممكن المستحيل : أين تقيم ؟ فأجابه في أحلام العاجز

----------------------------------------

نمضى النصف الأول من حياتنا بحثاً عن المال والنجاح والشهرة ونمضى

النصف الثانى منها بحثاً عن الأطباء

-----------------------------------------

شخصٌ يرى ذا الكون وهو جالسٌ ويجوب هذي الأرض بين الدول

مواضيع مشابهة