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()
Ïà¹ØÎĵµ£º
Java °´×Ö½Ú½ØÈ¡´øÓкº×ÖµÄ×Ö·û´®µÄ½â·¨£¬ÍøÉÏÓв»ÉÙÌÖÂÛ¡£ÕâÀïÎÒÒ²¸ø³öÒ»ÖÖÎÒ×Ô¼ºµÄ´¦Àí£¬»ù±¾ÔÀí»¹ÊÇͳ¼ÆÒª½ØÈ¡µÄ×Ö½ÚÊýÖÐÊDZíʾºº×ÖµÄ×Ö½ÚÊýÊÇ·ñÊÇżÊý¸ö£¬¼´ÊÇ·ñ¸ÕºÃ°üÀ¨ÁËÍêÕûµÄºº×Ö¡£
/**
* ±à³Ì£º±àдһ¸ö½ØÈ¡×Ö·û´®µÄº¯Êý£¬ÊäÈëΪһ¸ö×Ö·û´®ºÍ×Ö½ÚÊý£¬Êä³öΪ°´×Ö½Ú½ØÈ¡µÄ×Ö·û´®¡£ µ«ÊÇÒª±£Ö¤ºº×Ö²»±»½Ø°ë¸ ......
Debug͸ÊÓͼ
http://www.cnblogs.com/Jamesliang/archive/2010/01/09/1643188.html
µ±µã»÷Debug°´Å¥Ê±£¬Eclipse»áÌáʾÄã½øÈë Debug͸ÊÓͼ¡£¿ÉÒÔÔÚÓÒÉÏ·½Expressions´°¿Úµã»÷Êó±êÓÒ¼üÔÚµ¯³ö²Ëµ¥ÖÐÑ¡Ôñ Add Watch Expression »òÕßµã»÷ÈçÏÂͼËùʾ°´Å¥Ôò»á³öÏÖ£¬Ìí¼Ó±í´ïʽ´°¿Ú¡£Äã¿ÉÒÔÊäÈëÄã ......
¡¡¡¡ÕâÀïËù˵µ½µÄJavaÖеÄÅÅÐò²¢²»ÊÇÖ¸²åÈëÅÅÐò¡¢Ï£¶ûÅÅÐò¡¢¹é²¢ÅÅÐòµÈ¾ßÌåµÄÅÅÐòËã·¨¡£¶øÊÇÖ¸Ö´ÐÐÕâЩÅÅÐòË㷨ʱ£¬±È½ÏÁ½¸ö¶ÔÏó“´óС”µÄ±È½Ï²Ù×÷¡£ÎÒÃǺÜÈÝÒ×Àí½âÕûÐ굀 i>j ÕâÑùµÄ±È½Ï·½Ê½£¬µ«µ±ÎÒÃǶԶà¸ö¶ÔÏó½øÐÐÅÅÐòʱ£¬ÈçºÎ±È½ÏÁ½¸ö¶ÔÏóµÄ“´óС”ÄØ£¿ÕâÑùµÄ±È½Ï stu1 > stu2 ÏÔÈ»ÊDz»¿É ......
import java.util.regex.Matcher;
import java.util.regex.Pattern;
1£ºÕâ¸öÊÇÄõ½Ò»¸ö×Ö·ûÈ¡µÃÀïÃæµÄͼÏñµØÖ··µ»ØÒ»¸öList
public static List<String> getImgStr(String htmlStr){
String img=""; &n ......
1. Ñ»·listÖеÄËùÓÐÔªËØÈ»ºóɾ³ýÖØ¸´
public static List removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
for ( int j = list.size() - 1 ; j > i; j -- ) {
if (list.get(j).equals(list.get(i))) {
......