javaÖÐhashcode()ºÍequals()µÄÏê½â
תÌû×Ô http://www.javaeye.com/topic/257191
javaÖÐhashcode()ºÍequals()µÄÏê½â
1. Ê×ÏÈequals()ºÍhashcode()ÕâÁ½¸ö·½·¨¶¼ÊÇ´ÓobjectÀàÖм̳йýÀ´µÄ¡£
equals()·½·¨ÔÚobjectÀàÖж¨ÒåÈçÏ£º
public boolean equals(Object obj) {
return (this == obj);
}
ºÜÃ÷ÏÔÊǶÔÁ½¸ö¶ÔÏóµÄµØÖ·Öµ½øÐеıȽϣ¨¼´±È½ÏÒýÓÃÊÇ·ñÏàͬ£©¡£µ«ÊÇÎÒÃDZØÐèÇå³þ£¬µ±String ¡¢Math¡¢»¹ÓÐInteger¡¢Double¡£¡£¡£¡£µÈÕâЩ·â×°ÀàÔÚʹÓÃequals()·½·¨Ê±£¬ÒѾ¸²¸ÇÁËobjectÀàµÄequals£¨£©·½·¨¡£±ÈÈçÔÚStringÀàÖÐÈçÏ£º
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
ºÜÃ÷ÏÔ£¬ÕâÊǽøÐеÄÄÚÈݱȽϣ¬¶øÒѾ²»ÔÙÊǵØÖ·µÄ±È½Ï¡£ÒÀ´ÎÀàÍÆDouble¡¢Integer¡¢Math¡£¡£¡£¡£µÈµÈÕâЩÀà¶¼ÊÇÖØÐ´ÁËequals()·½·¨µÄ£¬´Ó¶ø½øÐеÄÊÇÄÚÈݵıȽϡ£µ±È»ÁË»ù±¾ÀàÐÍÊǽøÐÐÖµµÄ±È½Ï£¬Õâ¸öûÓÐʲôºÃ˵µÄ¡£
ÎÒÃÇ»¹Ó¦¸Ã×¢Ò⣬JavaÓïÑÔ¶Ôequals()µÄÒªÇóÈçÏ£¬ÕâЩҪÇóÊDZØÐë×ñѵģº
• ¶Ô³ÆÐÔ£ºÈç¹ûx.equals(y)·µ»ØÊÇ“true”£¬ÄÇôy.equals(x)Ò²Ó¦¸Ã·µ»ØÊÇ“true”¡£
• ·´ÉäÐÔ£ºx.equals(x)±ØÐë·µ»ØÊÇ“true”¡£
• ÀàÍÆÐÔ£ºÈç¹ûx.equals(y)·µ»ØÊÇ“true”£¬¶øÇÒy.equals(z)·µ»ØÊÇ“true”£¬ÄÇôz.equals(x)Ò²Ó¦¸Ã·µ»ØÊÇ“true”¡£
• »¹ÓÐÒ»ÖÂÐÔ£ºÈç¹ûx.equals(y)·µ»ØÊÇ“true”£¬Ö»ÒªxºÍyÄÚÈÝÒ»Ö±²»±ä£¬²»¹ÜÄãÖØ¸´x.equals(y)¶àÉٴΣ¬·µ»Ø¶¼ÊÇ“true”¡£
• ÈκÎÇé¿öÏ£¬x.equals(null)£¬ÓÀÔ¶·µ»ØÊÇ“false”£»x.equals(ºÍx²»Í¬ÀàÐ͵ĶÔÏó)ÓÀÔ¶·µ»ØÊÇ“false”¡£
ÒÔÉÏÕâÎåµãÊÇÖØÐ´equals()·½·¨Ê±£¬±ØÐë×ñÊØµÄ×¼Ôò£¬Èç¹ûÎ¥·´»á³öÏÖÒâÏë²»µ½µÄ½á¹û£¬Çë´ó¼ÒÒ»¶¨Òª×ñÊØ¡£
2. Æä´ÎÊÇhashcode()
Ïà¹ØÎĵµ£º
class Global {
public static final String APPNAME= "xyz"; //È«¾Ö³£Á¿
public static String currentUser = "abc"; // È« ......
JAVA CLASSPATH ºÍPATHµÄÇø±ð ÊÕ²Ø
PATH:¡¡ÓÃÀ´Ö¸¶¨ java ÐéÄâ»ú(JVM) ËùÔÚÔÚĿ¼,Ò²¾ÍÊÇÎÒÃÇ×î³£ÓõÄÓÃÀ´±àÒëjavaÔ´³ÌÐòµÄjavac.exe ºÍÓÃÀ´Ö´ÐÐ *.class ÎļþµÄ java.exe ÕâÁ½¸öÃüÁî¡£ÒÔÎҵĻúÆ÷ΪÀý°É£ºÎÒµÄ jdk °´×°Ä¿Â¼Îª D:\jdk1.5.0_08£¨È·ÇеÄ˵ÎÒµÄÕâ¸öJDK²»Êǰ²×°°æ±¾µÄ£¬Ö±½Ó½âѹµ½ d:\ Ï嵀 £¬´ËʱÎÒµÄ path ¾ ......
ÎÒ½ñÌìѧϰÁËëÀÏʦ½²µÄ
svn cvs
֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
°æ±¾¿ØÖÆ
: °æ±¾¿ØÖÆ(Revision
control)ÊÇά»¤¹¤³ÌÀ¶Í¼µÄ±ê×¼×ö·¨£¬ÄÜ×·×Ù¹¤³ÌÀ¶Í¼´Óµ®ÉúÒ»Ö±µ½¶¨°¸µÄ¹ý³Ì¡£´ËÍ⣬°æ±¾¿ØÖÆÒ²ÊÇÒ»ÖÖÈíÌ幤³Ì¼¼ÇÉ£¬½è´ËÄÜÔÚÈíÌ忪·¢µÄ¹ý³ÌÖУ¬È·±£Óɲ»Í¬ÈËËù±à¼µÄͬһÎļþµµ°¸¶¼ÄܵÃÒÔͬ²½¡£
Subver ......