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

¡¾×ª¡¿ÈçºÎÔÚJavaÖбÜÃâequals·½·¨µÄÒþ²ØÏÝÚå

ÒëÕß×¢ :Äã¿ÉÄÜ»á¾õµÃJavaºÜ¼òµ¥£¬ObjectµÄequalsʵÏÖÒ²»á·Ç³£¼òµ¥£¬µ«ÊÇÊÂʵ²¢²»ÊÇÄãÏëÏóµÄÕâÑù£¬ÄÍÐĵĶÁÍê±¾ÎÄ£¬Äã»á·¢ÏÖÄã¶ÔJavaÁ˽âµÄÊÇÈç´ËµÄÉÙ¡£Èç¹ûÕâÆªÎÄÕÂÊÇÒ»·ÝJava³ÌÐòÔ±µÄÈëÖ°±ÊÊÔ£¬ÄÇô²»ÖªµÀÓжàÉÙÈË»áµôÂäµ½ÕâÑùµÄÏÝÚåÖС£Ô­ÎÄת×Ôhttp://www.artima.com/lejava/articles/equality.html Èýλ×÷Õß¶¼ÊDz»Í¬ÁìÓòµÄ´óÄã¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔ´ÓÉÏÃæÕâ¸öÁ¬½ÓÖ±½ÓÈ¥ÔĶÁÔ­ÎÄ¡£
ÕªÒª
±¾ÎÄÃèÊöÖØÔØequals·½·¨µÄ¼¼Êõ£¬ÕâÖÖ¼¼Êõ¼´Ê¹ÊǾßÏÖÀàµÄ×ÓÀàÔö¼ÓÁË×Ö¶ÎÒ²Äܱ£Ö¤equalÓïÒåµÄÕýÈ·ÐÔ¡£
ÔÚ¡¶Effective Java¡·µÄµÚ8ÏîÖУ¬Josh BlochÃèÊöÁ˵±¼Ì³ÐÀà×÷ÎªÃæÏò¶ÔÏóÓïÑÔÖеĵȼ۹ØÏµµÄ»ù´¡ÎÊÌ⣬Ҫ±£Ö¤ÅÉÉúÀàµÄequalÕýÈ·ÐÔÓïÒåËù»áÃæ¶ÔµÄÀ§ÄÑ¡£BlochÕâÑùдµ½£º
³ý·ÇÄãÍü¼ÇÁËÃæÏò¶ÔÏó³éÏóµÄºÃ´¦£¬·ñÔòÔÚµ±Äã¼Ì³ÐÒ»¸öÐÂÀà»òÔÚÀàÖÐÔö¼ÓÁËÒ»¸öÖµ×é¼þʱÄãÎÞ·¨Í¬Ê±±£Ö¤equalµÄÓïÒåÒÀÈ»ÕýÈ·
ÔÚ¡¶Programming in Scala¡·ÖеĵÚ28ÕÂÑÝʾÁËÒ»ÖÖ·½·¨£¬ÕâÖÖ·½·¨ÔÊÐí¼´Ê¹¼Ì³ÐÁËÐÂÀ࣬Ôö¼ÓÁËеÄÖµ×é¼þ£¬equalµÄÓïÒåÈÔÈ»Äܵõ½±£Ö¤¡£ËäÈ»ÔÚÕâ±¾ÊéÖÐÕâÏî¼¼ÊõÊÇÔÚʹÓÃScalaÀà»·¾³ÖУ¬µ«ÊÇÕâÏî¼¼ÊõͬÑù¿ÉÒÔÓ¦ÓÃÓÚJava¶¨ÒåµÄÀàÖС£ÔÚ±¾ÎÄÖеÄÃèÊöÀ´×ÔÓÚProgramming in ScalaÖеÄÎÄ×ÖÃèÊö£¬µ«ÊÇ´úÂë±»ÎÒ´Óscala·­Òë³ÉÁËJava
³£¼ûµÄµÈ¼Û·½·¨ÏÝÚå
java.lang.Object ÀඨÒåÁËequalsÕâ¸ö·½·¨£¬ËüµÄ×ÓÀà¿ÉÒÔͨ¹ýÖØÔØÀ´¸²¸ÇËü¡£²»ÐÒµÄÊÇ£¬ÔÚÃæÏò¶ÔÏóÖÐд³öÕýÈ·µÄequals·½·¨ÊǷdz£À§Äѵġ£ÊÂʵÉÏ£¬ÔÚÑо¿ÁË´óÁ¿µÄJava´úÂëºó£¬2007 paperµÄ×÷ÕߵóöÁËÈçϵÄÒ»¸ö½áÂÛ£º
¼¸ºõËùÓеÄequals·½·¨µÄʵÏÖ¶¼ÊÇ´íÎóµÄ£¡
Õâ¸öÎÊÌâÊÇÒòΪµÈ¼ÛÊǺͺܶàÆäËûµÄÊÂÎïÏà¹ØÁª¡£ÀýÈçÆäÖÐÖ®Ò»£¬Ò»¸öµÄÀàÐÍCµÄ´íÎóµÈ¼Û·½·¨¿ÉÄÜÒâζ×ÅÄãÎÞ·¨½«Õâ¸öÀàÐÍCµÄ¶ÔÏó¿ÉÐÅÀµµÄ·ÅÈëµ½ÈÝÆ÷ÖС£±ÈÈç˵£¬ÄãÓÐÁ½¸öÔªËØelem1ºÍelem2ËûÃǶ¼ÊÇÀàÐÍCµÄ¶ÔÏ󣬲¢ÇÒËûÃÇÊÇÏàµÈ£¬¼´elem1.equals(elm2)·µ»Øture¡£µ«ÊÇ£¬Ö»ÒªÕâ¸öequals·½·¨ÊÇ´íÎóµÄʵÏÖ£¬ÄÇôÄã¾ÍÓпÉÄܻῴ¼ûÈçϵÄһЩÐÐΪ£º
Set hashSet = new java.util.HashSet();
hashSet.add(elem1);
hashSet.contains(elem2); // returns false!
µ±equalsÖØÔØÊ±£¬ÕâÀïÓÐ4¸ö»áÒý·¢equalsÐÐΪ²»Ò»Öµij£¼ûÏÝÚ壺
¶¨ÒåÁË´íÎóµÄequals·½·¨Ç©Ãû(signature) Defining equals with the wrong signature.
ÖØÔØÁËequalsµÄµ«Ã»ÓÐÍ¬Ê±ÖØÔØhashCodeµÄ·½·¨¡£ Changing equals without also changing hashCode.
½¨Á¢ÔÚ»á±ä»¯×ÖÓòÉϵÄequals¶¨Òå¡£ Defining equals


Ïà¹ØÎĵµ£º

java equalsÓë== µÄʹÓÃ

¶ÔÓÚObjectÀà,ËüÌṩÁËÒ»¸ö×î×îÑÏÃܵÄʵÏÖ,ÄǾÍÊÇÖ»ÓÐÊÇͬһ¶ÔÏóʱ,equals·½·¨²Å·µ»Øtrue,Ò²¾ÍÊÇÈËÃdz£ËµµÄÒýÓñȽ϶ø²»ÊÇÖµ±È½Ï.Õâ¸öʵÏÖÑÏÃܵÃÒѾ­Ã»ÓÐʲôʵ¼ÊµÄÒâÒå, ËùÒÔÔÚ¾ßÌå×ÓÀà(Ïà¶ÔÓÚObjectÀ´Ëµ)ÖÐ,Èç¹ûÎÒÃÇÒª½øÐжÔÏóµÄÖµ±È½Ï,¾Í±ØÐëʵÏÖ×Ô¼ºµÄequals·½·¨
equals ·½·¨ÊÇ java.lang.Object ÀàµÄ·½·¨¡£
ÓÐÁ½ÖÖÓ ......

javaÄÚ´æ¹ÜÀí

1. JVMÄÚ´æ¶Î·ÖÅä¼°Æô¶¯²ÎÊý£º
J2EE·þÎñÆ÷µÄÄÚ´æ×é³É£º
? Java¶Ñ£ºÎÒÃǵijÌÐòºÍ¶ÔÏó¶¼ÔÚÕâ¸ö¶Ñ½øÐйÜÀí
? C¶Ñ£ºµ±ÒýÓõ½Ò»Ð©NativeµÄ¶ÔÏó£¬ÈçÍøÂç·ÃÎÊ¡¢OCI·½Ê½µÄÊý¾Ý¿âÁ¬½ÓµÈ¶¼ÔÚC¶ÑÀï½øÐйÜÀí
Java¶ÑµÄÃèÊö£º
ÈçÏÂͼ
 
ÄÚ´æÓÉ Perm ºÍ Heap ×é³É. ÆäÖÐ
Heap = {Old + young = { Eden , from, to } }
? You ......

[×ªÔØ]Java¿ª·¢×îÈÝÒ×·¸µÄ¼¸ÖÖ´íÎó

1.Duplicated Code
 
´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£
 
2.Long method
 
ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£ ......

java ¼òµ¥ÊµÏÖftp

°ücommons-net-1.4.1.zip
import org.apache.commons.io.IOUtils;
import org.apache.commons.net.ftp.FTPClient;
import com.eduvideotv.util.Global;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
/**
* Apache commons-net ÊÔÓ ......

javascriptʵÏÖÏñjava¡¢c#Ö®ÀàµÄsleepÔÝÍ£µÄº¯Êý¹¦ÄÜ

ÎÒÃǶ¼ÖªµÀjava¡¢c#¡¢vbµÈÓïÑÔ¶¼ÓÐsleepÔÝÍ£µÄº¯Êý£¬¶øJavaScript½Å±¾Ã»ÓÐÀàËÆµÄ¹¦ÄÜ¡£
ÏÂÃæ¾ÍÊÇÎÒµÄʵÏֵķ½·¨£º
<mce:script type="text/javascript"><!--
function test()
{
var s="javascript--ÔÝÍ£º¯Êý";
setTimeout(
function(){
eval(sleep(test)); //Ö´ÐÐreturnÖ®ºóµÄ´úÂ룬Ҳ¾ÍÊÇ&ldq ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ