Effective Java¶ÁÊé±Ê¼Ç
package chape8;
/**
* µÚ8ÕÂ
* µÚ46條£º
* for-eachÑ環優ÏÈÓÚforÑ環
* for(Element e : c)
* {
* dosomthing(e);
* }
* Õâ¸öÊÇjava1.5ÒÔÉϵİ汾µÄforÑ»·µÄÊ×ÏÈ¿¼ÂǵÄд·¨
* ÒÔÏÂÊÇjava1.5ÒÔǰµÄ寫·¨
* for (Iterator it = c.iterator();it.hasNext();)
{
it.next();
}
這兩個Ñ環µÄ·½·¨¶¼±Èwhile·½·¨ÒªºÃ£¬45條ÖеÄ複製µÄ錯誤ÔÚÓõÚÒ»種Ñ環¾Í
¿ÉÒÔ±ÜÃ⣻
總Ö®for eachÔÚ簡潔ºÍ預·Àbug·½ÃæÓÐÖø傳統µÄforÑ環無·¨±ÈµÄ優勢£»並ÇÒ沒ÓÐÐÔÄÜ
損ʧ¡£應該¾¹¿ÉÄÜʹÓÃfor-each µ«ÊÇÓÐÏÂ麵Èý種Çé況無·¨Ê¹ÓÃfor each
1.過濾£ºÈç¹û±éÀúÒ»¸ö¼¯ºÏ ²¢É¾³ýÑ¡¶¨µÄÔªËØ ¾ÍÒªÓÃÏÔʾµÄµü´úÆ÷£¬ÕâÑù¿ÉÒÔµ÷ÓÃ
ËûµÄremove·½·¨
2.ת»»£ºÒª±éÀúÁбí»òÕßÊý×é ²¢È¡´úËûµÄ²¿·Ö»òÕßÈ«²¿ÔªËØÖµ ÒªÓõ½Êý×éµÄË÷Òý
3.ƽÐеü´úÒª²¢ÐбéÀú¶à¸ö¼¯ºÏ£»
* @author lee
*
*/
public class Chape46 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Ïà¹ØÎĵµ£º
ѧϰjavaµÄ30¸öÄ¿±ê----Èç¹ûÕâ30ÌõÄã×öµÄ²î²»¶àÁË£¬jAVAˮƽ¾Íµ±È»²»ÓÃ˵ÁË£¬ºÃºÃŬÁ¦°É
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºË ......
ArrayList ºÍVectorÊDzÉÓÃÊý×鷽ʽ´æ´¢Êý¾Ý£¬´ËÊý×éÔªËØÊý´óÓÚʵ¼Ê´æ´¢µÄÊý¾ÝÒÔ±ãÔö¼ÓºÍ²åÈëÔªËØ£¬¶¼ÔÊÐíÖ±½ÓÐòºÅË÷ÒýÔªËØ£¬µ«ÊDzåÈëÊý¾ÝÒªÉè¼Æµ½Êý×éÔªËØÒÆ¶¯µÈÄÚ´æ²Ù×÷£¬ËùÒÔË÷ÒýÊý¾Ý¿ì²åÈëÊý¾ÝÂý£¬VectorÓÉÓÚʹÓÃÁËsynchronized·½·¨£¨Ḭ̈߳²È«£©ËùÒÔÐÔÄÜÉϱÈArrayListÒª²î£¬LinkedListʹÓÃË«ÏòÁ´±íʵÏÖ´æ´¢£¬°´Ðòº ......
ÔÚJAVAÖУº
1. º¯ÊýÖØÔØÊÇÒ»¸öÀàÖÐÉùÃ÷Á˶à¸öͬÃûµÄ·½·¨£¬µ«Óв»Í¬µÄ²ÎÊý¸öÊýºÍ²ÎÊýÀàÐÍ¡£
2. º¯ÊýÖØ¹¹ÊÇÖ¸ÔÚ×ÓÀàÖÐÉùÃ÷Ó븸ÀàͬÃûµÄ·½·¨£¬´Ó¶ø¸²¸ÇÁ˸¸ÀàµÄ·½·¨¡£Öع¹½â¾öÁË×ÓÀàÓ븸ÀàµÄ²îÒìÎÊÌâ¡£
Àý×ÓÈçÏ£º
//ÖØÔØ
class A {
public d (){};
public d (q){};
public d (q,w){};
}
//ÖØÐ´ ......
package chape7;
/**
* 檢²é參數µÄÓÐЧÐÔ
* 當編寫·½·¨»òÕß構ÔìÆ÷時£¬應該¿¼慮ËûµÄ參數ÓÐʲ÷áÏÞÖÆ 應該°É這ЩÏÞÖÆ寫ÔÚÎÄ檔ÖУ¬並ÇÒÔÚ這個·½·¨µÄ開頭 ......