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()
Ïà¹ØÎĵµ£º
Ò»¡¢Ê²Ã´ÊÇ·´É䣺
·´ÉäµÄ¸ÅÄîÊÇÓÉSmithÔÚ1982ÄêÊ×´ÎÌá³öµÄ£¬Ö÷ÒªÊÇÖ¸³ÌÐò¿ÉÒÔ·ÃÎÊ¡¢¼ì²âºÍÐÞ¸ÄËü±¾Éí״̬»òÐÐΪµÄÒ»ÖÖÄÜÁ¦¡£ÕâÒ»¸ÅÄîµÄÌá³öºÜ¿ìÒý·¢Á˼ÆËã»ú¿ÆÑ§ÁìÓò¹ØÓÚÓ¦Ó÷´ÉäÐÔµÄÑо¿¡£ËüÊ×Ïȱ»³ÌÐòÓïÑÔµÄÉè¼ÆÁìÓòËù²ÉÓÃ,²¢ÔÚLispºÍÃæÏò¶ÔÏó·½ÃæÈ¡µÃÁ˳ɼ¨¡£ÆäÖÐLEAD/LEAD++ ¡¢OpenC+ ......
½ñÌì¼ÌÐøÙ¡ÀÏʦµÄ½ÌÓý°ì¹«ÏµÍ³µÄÂọ́º
1. Ô±¹¤Â¼ÈëµÄ·þÎñÆ÷¶ËµÄ¼òµ¥ÑéÖ¤:
1). ʹÓà struts µÄ validator ¿ò¼Ü
2). ÑéÖ¤¹æÔòͬä¯ÀÀÆ÷¶ËµÄ jQuery µÄ validator ÑéÖ¤.
3). ÒÔ email ×Ö¶ÎΪÀý, ÑéÖ¤ ......
½ñÌì¼ÌÐø½ÌÓý°ì¹«ÏµÍ³µÄÂọ́¬½ñÌìÖ÷Òª½²µÄÊÇȨÏÞÄ£¿é£º
1. ¼¯³É spring-security ¿ò¼Ü
1). ¼ÓÈë spring-security µÄÁ½¸ö jar °ü
2). ÔÚ web.xml ÎļþÖмÓÈë¼ÓÈë spring-security ¿ò¼ÜµÄ¹ýÂËÆ÷
&n ......
½ñÌì¼ÌÐøÑ§Ï°Ù¡ÀÏʦµÄ½ÌÓý°ì¹«ÏµÍ³µÄÂọ́¬½ñÌìÖ÷ҪѧϰȨÏÞÄ£¿éºÍÔ±¹¤Ä£¿éµÄ¼¯³É£»
1.
¼¯³ÉȨÏÞÄ£¿éºÍÔ±¹¤Ä£¿é
.
1).
мÈëÔ±¹¤Ê±
,
¿ÉÒÔΪÆäÌí¼Ó½ÇÉ«
&n ......
Ê×ÏȾͱêÌâ˵Ã÷Ò»µã£¬javaʹÓÃorg.apache.commons.net.ftp.ftpclient°üÀ´²Ù×÷FTPÊǺÜˬµÎ£¬µ«¶ÔÔ¶³ÌÎļþ²Ù×÷£¬ºÃÏñûÓÐʵÏÖ
¸´ÖÆÎļþµÄ·½·¨¡£ÎÒÓõÄÊÇÎļþÒÆ¶¯(move)£¬°ÑÎļþ´ÓÒ»¸öÎļþ¼ÐÒÆ¶¯µ½ÁíÍâÒ»¸öÎļþ¼Ð¡£
±³¾°£º
ÔÚactionÖвÙ×÷Ô¶³ÌFTP£¬ÊµÏÖÎļþÒÆ¶¯¡£³ÌÐòÔËÐÐÔÚ±¾»ú£¬FTPÊÇÒ»¸öLinux· ......