¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤¬¥×¥í¥°¥é¥ß¥ó¥°(C¸À¸ì,Java¤Ê¤É)¡¢¥Í¥Ã¥È¥ï¡¼¥¯¡¢»ñ³Ê»î¸³(¾ðÊó½èÍýµ»½Ñ¼Ô»î¸³,CCNA)¤Ê¤É¤Ë´Ø¤¹¤ëµ»ö¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
°ÊÁ°ºîÀ®¤·¤¿Java¤ÎÊ£ÁÇ¿ô¥¯¥é¥¹Complex¤òÂêºà¤È¤·¤Æ¡¢equals()¥á¥½¥Ã¥É¤Î¼ÂÁõ¤Ë¤Ä¤¤¤ÆÏÀ¤¸¤Þ¤¹¡£
²¼¤Î¥×¥í¥°¥é¥à¤Ïŵ·¿Åª¤Ê¡©¸í¤ê¤ÎÎã¤Ç¤¹¡£°ì¸«Àµ¤·¤½¤¦¤Ë¸«¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤³¤Î¥×¥í¥°¥é¥à¤Ë¤ÏÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
¸í¤Ã¤¿Îã
public boolean equals(Complex c) {
if (re == c.re && im == c.im)
return true;
else
return false;
}
³Î¤«¤Ë¡¢Complex¥¯¥é¥¹Æ±»Î¤òÈæ³Ó¤¹¤ë¤Î¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢°ú¿ô¤ËComplex·¿¤Î»²¾È¤ò¼è¤ì¤Ð¤è¤¤¤È»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤·¤«¤·¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Ç¤¢¤ëObject¤Çequals()¥á¥½¥Ã¥É¤Ïpublic boolean equals(Object obj)¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢°ú¿ô¤Î·¿¤òComplex¤Ë¤«¤¨¤Æ¤·¤Þ¤¦¤È¡¢¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¡ÊºÆÄêµÁ¡Ë¤Ç¤Ï¤Ê¤¯¥ª¡¼¥Ð¡¼¥í¡¼¥É¡Ê¿½ÅÄêµÁ¡Ë¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î¼ÂÁõ¤Ç¤Ï¼¡¤Î¥×¥í¥°¥é¥à¤¬ÁÛÄê³°¤Îư¤¤ò¤·¤Þ¤¹¡£
public static void main(String args[]) {
Set s = new HashSet();
Complex c1 = new Complex(1, 2);
Complex c2 = new Complex(1, 2);
s.add(c1);
if(s.contains(c1))
System.out.println("contains c1.");
else
System.out.println("doesn't contains c1.");
if(s.contains(c2))
System.out.println("contains c2.");
else
System.out.println("doesn't contains c2.");
}
¼Â¹Ô·ë²Ì
contains c1. doesn't contains c2.
contains()¤¬ÆâÉô½èÍý¤Çequals(Object obj)¤ò¸Æ¤Ó½Ð¤·¤Æ¤ª¤ê¡¢¥ª¡¼¥Ð¡¼¥í¡¼¥É¤·¤¿equals(Complex c)¤Ï̵»ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Object¥¯¥é¥¹¤Îequals()¤Ï»²¾È¤ÎƱ°ìÀ¡Ê¤Ä¤Þ¤ê¡¢ÊªÍýŪ¤ÊƱ°ìÀ¡Ë¤Ç¤â¤Ã¤Ætrue¤«false¤òÊÖ¤·¤Æ¤¤¤ë¤¿¤á¡¢¤³¤Î¤è¤¦¤Ê·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£³Î¤«¤Ë¡¢c1¤·¤«add()¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢c1¤Èc2¤ÏÏÀÍýŪ¤Ë¤ÏƱ¤¸ÃͤǤ¹¤Î¤Ç¡¢contains c2¤Ç¤â¤¢¤Ã¤ÆÍߤ·¤¤¤Ç¤¹¡£
¼¡¤ÎÎã¤ÏÀèÄø¤ÎÌäÂêÅÀ¡Ê¡Ü¦Á¡Ë¤ò½¤Àµ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤¹¡£º£ÅÙ¤³¤½Îɤµ¤½¤¦¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤³¤ì¤Ç¤âÉÔ½½Ê¬¤Ç¤¹¡£
ÉÔ½½Ê¬¤ÊÎã
public boolean equals(Object obj) {
Complex c = (Complex) obj;
if (re == c.re && im == c.im)
return true;
else
return false;
}
Íýͳ¤ò½ñ¤¯¤ÈŤ¯¤Ê¤ë¤Î¤Ç¡¢¶½Ì£¤Î¤¢¤ëÊý¤Ë¤ÏEffective Java¤òÆÉ¤ó¤Ç¤¤¤¿¤À¤¯¤È¤·¤Æ¡¢¤³¤³¤Ç¤ÏEclipse¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿equals()¥á¥½¥Ã¥É¤Î¥³¡¼¥É¤ò¼¨¤·¤Æ¤ª¤¤Þ¤¹¡£
![]() | Effective Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¬¥¤¥É Joshua Bloch ¥Ô¥¢¥½¥ó¡¦¥¨¥Ç¥å¥±¡¼¥·¥ç¥ó 2001-12-03 Çä¤ê¾å¤²¥é¥ó¥¥ó¥° : 50875 ¤ª¤¹¤¹¤áÊ¿¶Ñ ![]() Amazon¤Ç¾Ü¤·¤¯¸«¤ë by G-Tools |
Eclipse¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥³¡¼¥É
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Complex other = (Complex) obj;
if (Double.doubleToLongBits(im)
!= Double.doubleToLongBits(other.im))
return false;
if (Double.doubleToLongBits(re)
!= Double.doubleToLongBits(other.re))
return false;
return true;
}
´ØÏ¢µ»ö
¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯:
![]()
Author:TBVector
»ä¤Î¥µ¥¤¥È
¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÈRSS
ͧã¤Î¥µ¥¤¥È
¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤
¤Ï¤Æ¤Ê¥ê¥ó¥°