¡¶Effective Java¡·±Ê¼Ç
µÚÒ»ÕÂ ÒýÑÔ
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ¶þÕ ´´½¨ºÍÏú»Ù¶ÔÏó
(By wind5shy£ºhttp://blog.csdn.net/wind5shy)
µÚ1Ìõ£º¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
ºÃ´¦£º
¾²Ì¬¹¤³§·½·¨ÓÐÃû×Ö£¬±í´ï¸üÇå³þ¡£
²»Ðè´´½¨ÐµĶÔÏó¡£
¿ÉÒÔ·µ»ØÔ·µ»ØÀàÐ͵Ä×ÓÀàÐͶÔÏó¡£Ó¦Óãº1.·µ»ØÀàÐͶ¨ÒåΪ½Ó¿Ú£¬Ôò·µ»ØµÄËùÓÐʵÀý¶ÔÏóµÄϸ½Ú¶¼¿ÉÒÔ±»Òþ²Ø£¬ÈçCollections¡£2.·µ»Ø¶ÔÏóËùÊôµÄÀàÔÚд¸Ã¾²Ì¬·½·¨Ê±¿ÉÒÔ²»´æÔÚ¡£
ȱµã£º
ÀàÈç¹û²»º¬public»òÕßprotected¹¹Ô캯Êý£¬¾Í²»Äܱ»×ÓÀ໯£¬Èç²»ÄÜʵÀý»¯CollectionsµÄÈÎһʵÏÖÀà¡£
ÓëÆäËû¾²Ì¬·½·¨Ã»ÓÐÇø±ð£¬²»Ïñ¹¹Ô캯ÊýÒ»ÑùÃ÷ÏÔ¡£µ«Ê¹Óñê×¼µÄÃüÃûϰ¹ß£ºvalueOfºÍgetInstance£¬¿ÉÒÔ¿Í·þÒ»¶¨µÄȱµã¡£
µÚ2Ìõ£ºÊ¹ÓÃ˽Óй¹Ô캯ÊýÇ¿»¯singletonÊôÐÔ
½«¹¹Ô캯ÊýÉèΪprivateÊÇΪÁ˱ÜÃâÆäËûÀàµ÷ÓÃÒÑÈ·±£Î¨Ò»ÐÔ£¨²»Ð´ÏÔʾ¹¹Ô캯ÊýÔòϵͳÌṩĬÈϹ¹Ô캯ÊýÇÒΪpublic£¡£©¡£
Á½ÖÖʵÏÖsingletonµÄ·½·¨£º
1.
public static final Singleton INSTANCE = new Singleton();
private Singleton(){}
¹¹Ôì·½·¨Ö»ÔÚ³õʼ»¯INSTANCEʱ±»µ÷ÓÃÒ»´Î¡£
2.
private static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public static getInstance(){ return INSTANCE};
1ºÃ´¦ÔÚÓÚÀà³ÉÔ±Ã÷È·±íÃ÷ÁËÀàÊÇÒ»¸ösingleton£»¶ø2ÔòÌṩÁËÁé»îÐÔ£¬ÔÊÐíÔÚ²»¸Ä±äAPIµÄÇé¿öϸıäÀàÊÇ·ñΪsingleton¡£
singletonÀàÔÚÐòÁл¯µÄʱºòÐèÒªÌṩreadResolve()È·±£singletonÐÔ£¬·ñÔòÒ»¸öÐòÁл¯µÄʵÀýÔÚÿ´Î·´ÐòÁл¯µÄʱºò£¬¶¼»áµ¼Ö´´½¨Ò»¸öеÄʵÀý¡£
private Object readResolve() throws ObjectStreamException{ return INSTANCE;}
µÚ3Ìõ£ºÍ¨¹ý˽Óй¹Ô캯ÊýÇ¿»¯²»¿ÉʵÀý»¯µÄÄÜÁ¦
ȱµã£ºÀ಻Äܱ»×ÓÀ໯£¬ÒòΪ×ÓÀàµÄ¹¹Ô캯ÊýÐèÒªµ÷Óó¬ÀàµÄ¹¹Ô캯Êý¡£
µÚ4Ìõ£º±ÜÃâ´´½¨Öظ´µÄ¶ÔÏó
String s = “s”;ÓÅÓÚString s = new String(“s”);ÒòΪºóÕßÿ´Î¶¼´´½¨ÐµĶÔÏó¶øÇ°Õß²»ÊÇ¡£
ͬʱÌṩ¾²Ì¬¹¤³§º¯ÊýºÍ¹¹Ô캯ÊýµÄ·Ç¿É±äÀ࣬ʹÓþ²Ì¬¹¤³§º¯Êý¿ÉÒÔ±ÜÃâÿ´Î´´½¨ÐµĶÔÏó£¬ÈçBoolean.valueOf(String)ÓÅÓÚBoolean(String)¡£
²»»á±»Ð޸ĵĿɱäÀà
&nbs
Ïà¹ØÎĵµ£º
1.Listת»»³ÉΪÊý×é¡££¨ÕâÀïµÄListÊÇʵÌåÊÇArrayList)
¡¡¡¡µ÷ÓÃArrayListµÄtoArray·½·¨¡£
¡¡¡¡toArray
¡¡¡¡public <T> T[] toArray(T[] a)·µ»ØÒ»¸ö°´ÕÕÕýÈ·µÄ˳Ðò°üº¬´ËÁбíÖÐËùÓÐÔªËØµÄÊý×飻·µ»ØÊý×éµÄÔËÐÐʱÀàÐ;ÍÊÇÖ¸¶¨Êý×éµÄÔËÐÐʱÀàÐÍ¡£Èç¹ûÁбíÄÜ·ÅÈëÖ¸¶¨µÄÊý×飬Ôò·µ»Ø·ÅÈë´ËÁбíÔªËØµÄÊý×é¡£·ñÔò£¬½«¸ù¾ ......
StringתCharacterÊý×飬ÓÃCharacterµÄisDigitºÍisLetterº¯ÊýÈ¥Åжϡ£
public static boolean isNumeric(String str) {
for (int i = str.length(); i = 0;) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
public static boolean isNumeric(String str) {
Pattern patt ......
public class Foo {
static void operate(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
public static void main(String args[]){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
& ......
1¡¢ÖÐÎÄÎÊÌâµÄÀ´Ô´
ÓÉÓÚJava
Óï
ÑÔÄÚ²¿²ÉÓÃUNICODE±àÂ룬ËùÒÔÔÚJAVA
³ÌÐòÔËÐÐʱ£¬¾Í´æÔÚ×ÅÒ»¸ö´ÓUNICODE±àÂëºÍ¶ÔÓ¦µÄ²Ù×÷ϵͳ¼°ä¯ÀÀÆ÷Ö§³ÖµÄ±àÂë¸ñʽ
ת
»»ÊäÈë¡¢Êä³öµÄÎÊÌ⣬Õâ¸öת»»¹ý³ÌÓÐ×ÅһϵÁеIJ½Ö裬Èç¹ûÆäÖÐÈκÎÒ»²½³ö´í£¬ÔòÏÔʾ³öÀ´µÄºº×־ͻá³öÊÇÂÒÂ룬Õâ¾ÍÊÇÎÒÃdz£¼ûµÄJAVA
ÖÐ
ÎÄÎÊÌâ¡£¼¸ºõËùÓÐµÄ ......
service = new
Service();
thread=new
Thread(service);
try
{
  ......