Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Effective Java ѧϰ±Ê¼Ç(8)

µ±ÖØÔØequals·½·¨Ê±,×ñÑ­¹ßÀý.
equals²»ÊÇÿ¸öÀà¶¼±ØÐëÖØÔØ,µ±ÒÔϼ¸¸öÌõ¼þÂú×ã,¿ÉÒÔ²»ÖØÔØequals.
1. ÀàµÄʵÀýÖ»ÓÐͬһ¸ö²Å±»ÅÐΪÏàµÈ. ÈçThreadÀà.
2. ²»ÓùØÐÄÁ½¸ö¶ÔÏóÊÇ·ñÂß¼­ÏàµÈµÄʱºò,»òÊÇ˵±È½Ï¶ÔÏóûÓÐÒâÒå.
3.¸¸ÀàÒѾ­ÖØÔØÁËequals,¶øÇÒ¸¸ÀàµÄequalsÒ²ÊÊÓÃÓÚ×ÓÀà,×ÓÀà¾Í²»ÓÃÖØÔØequals.
4.ÕâÊÇÒ»¸ö˽ÓÐÀà»òÊǰüÄÚ·ÃÎÊ,ÄãÈ·¶¨equals²»»á±»µ÷ÓÃ.
ÄÇʲôʱºòʹÓÃequalsÄØ,µ±Á½¸ö¶ÔÏóÖ®¼äÓÐÂß¼­ÏàµÈµÄÒâÒåµÄʱºò,¶øÆä¸¸ÀಢûÓÐÖØÔØÊʺϵÄequalsµÄʱºò, »»¾ä»°Ëµ,Ò²¾ÍÊÇÊý¾ÝÀà. ÕâÖÖÀàÓбȽÏÖµµÄÐèÇó, ¶ø²»ÊǼòµ¥µÄÅжÏÊDz»ÊÇͬһ¸ö¶ÔÏó.
È»¶ø,¶ÔʵÀý»¯½øÐпØÖƵÄÊý¾ÝÀàÐͶÔÏó,Èçsingleton,²»ÓÃÖØÔØequals.
ÖØÔØÒª×¢ÒâÒÔϼ¸¸öÔ­Ôò:
·´Éä,¶Ô³Æ,´«µÝ,Ò»ÖÂ
ÁíÍâ,¶ÔÓÚnull,Ò»¶¨Òª·µ»Øfalse.
¸ßЧµÄequals¿ÉÒԲο¼ÒÔϼ¸µã.
1. ÓÃ==ÅжÏÊDz»ÊÇͬһ¸öʵÀý.
2. ʹÓÃinstanceofÅжÏÊDz»ÊÇͬһ¸öÀàÐÍ.
3.Ç¿ÖÆ×ª»¯³ÉÕýÈ·µÄÀàÐÍ.
4.¶Ôÿ¸öÓбȽÏÒâÒåµÄ³ÉÔ±±äÁ¿¶¼×÷¼ì²é.
5.µ±ÄãдÍêÖ®ºó,ÒªÎÊ×Ô¼º,Õâ¸öº¯ÊýÊDz»ÊǶԳƵÄ,¿É´«µÝµÄ,Ò»ÖµÄ.
дÍêequalsºó,ҪעÒâ:
1. ÔÚÖØÔØequalsºó,±ØÐëÒªÖØÔØhashCode.
2. ²»Äܼòµ¥µÄ±È½ÏÒ»¸öfieldÊDz»ÊÇÏàµÈ. Èç¶ÔFileÕâ¶ÔÀà,Èç¹ûÁ½¸ö¶ÔÏó´ò¿ªµÄÊÇÏàͬÄÚÈݵÄÎļþ,´Ëʱ²»Ó¦¸ÃÅжÏΪÏàͬ.
3.²»ÒªÓÃÁíÒ»¸öÀàÐÍÀ´´úÌæ²ÎÊýÖеÄObject,·ñÔòÕâ¾Í²»ÊÇÖØÔØ.
´íÎóÀý×Ó:
public boolean equals(MyClass o) {
...
}
ÔÚ±àÒëǰʹÓÃ@Override ¿ÉÒÔʹ±àÒëÆ÷ÔÚ²»ÕýÈ·µÄº¯ÊýÇ©Ãûʱ±¨´í.
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/mutsinghua/archive/2010/01/23/5248724.aspx


Ïà¹ØÎĵµ£º

Java¿ª·¢ÖжàÏß³Ìͬ²½¼¼ÇÉ

ÔÚ±àдһ¸öÀàʱ£¬Èç¹û¸ÃÀàÖеĴúÂë¿ÉÄÜÔËÐÐÓÚ¶àÏ̻߳·¾³Ï£¬ÄÇô¾ÍÒª¿¼ÂÇͬ²½µÄÎÊÌâ¡£ÔÚJavaÖÐÄÚÖÃÁËÓïÑÔ¼¶µÄͬ²½Ô­Ó£­synchronized£¬ÕâÒ²´ó´ó¼ò»¯ÁËJavaÖжàÏß³Ìͬ²½µÄʹÓá£
 ÎÒÃÇÊ×Ïȱàдһ¸ö·Ç³£¼òµ¥µÄ¶àÏ̵߳ijÌÐò£¬ÊÇÄ£ÄâÒøÐÐÖеĶà¸öÏß³Ìͬʱ¶Ôͬһ¸ö´¢ÐîÕË»§½øÐдæ¿î¡¢È¡¿î²Ù×÷µÄ¡£
¡¡¡¡ÔÚ³ÌÐòÖÐÎÒÃÇÊ¹Ó ......

java¶àÏ̶߳Áдͬһ¸öÎļþµÄ´úÂë

±¾ÎÄÌṩjava¶àÏ̷ֱ߳ð¶¨Ê±¶Áдͬһ¸öÎļþµÄÑùÀý£¬ÆäÖÐÁ½¸öỊ̈߳¬Ò»¸öÿ·ÖÖÓдÈ뵱ǰʱ¼äµ½Ö¸¶¨Îļþ£¬ÁíÒ»¸öÏ̶߳Á³öÿ·ÖÖÓÐÂдµÄÄÚÈÝ¡£
ʹÓüòµ¥µÄThread.sleep¼¼ÊõʵÏÖ¶¨Ê±
package test.thread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
im ......

Java¸ù¾ÝͼƬ½¨Á¢²»¹æÔò´°ÌåÏê½â

JAVA³ÌÐòµÄÍâ±í×ÜÊÇÒ»°åÒ»Ñ۵ģ¬¿´¶àÁËÄÑÃâÉóÃÀÆ£ÀÍ£¬Äܲ»ÄÜʹÎÒÃǵÄJAVA³ÌÐòÍâ¹Û±äµÃ¸üÃÀ¹Û¸ü¶ÀÌØÄØ£¿´ð°¸Êǿ϶¨µÄ£¬ÎÒÃÇ¿ÉÒÔÈÃJAVA³ÌÐò¸ù¾ÝͼƬÀ´Éú³É×Ô¶¨ÒåµÄ²»¹æÔò´°Ìå¡£±ÈÈçÏÂͼµÄÕâÖÖÍâ¹Û£º
ͼÖеÄÕâ¸öÈËÎï(ÀÙÃ×ÀòÑÇ)±ãÊǶ¨ÒåºÃµÄ²»¹æÔò´°Ì壬ÔõôÑù£¿ºÜƯÁÁ°É£¡ÄÇôÈÃÎÒÃÇ¿ªÊ¼Ñ§Ï°°É¡£
    Ê×ÏÈÒªË ......

Effective Java ѧϰ±Ê¼Ç (6)

¼°Ê±Ïû³ý²»Ê¹ÓõĶÔÏóµÄÒýÓÃ, ÀíÂÛÉÏ, ´øÓÐÄÚ´æ¹ÜÀíµÄÓïÑÔÊDz»´æÔÚÄÚ´æÐ¹Â©µÄ, µ«ÊÇÈç¹û¶Ô¶ÔÏóµÄ²Ù×÷²»µ±,Ò²ÊÇ¿ÉÄÜ»áÔì³ÉÄÚ´æÐ¹Â©.
ÈçÓÐÒ»¸östack, Æäpopº¯ÊýÈçÏÂ.
public Object pop()
{
               if( Element.length() == 0) return nu ......

Java·ºÐÍ·½·¨

package PairTestMyCode.copy;
import java.util.*;
public class PairTest2
{
public static void main(String[] args)
{
GregorianCalendar[] birthdays =
{
new GregorianCalendar(1906, Calendar.DECEMBER, 9), // G. Hopper
new GregorianCalendar(1815, Cal ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ