Java:ÖØÐ´equals()ºÍhashCode()
1.
ºÎʱÐèÒªÖØÐ´
equals()
µ±Ò»¸öÀàÓÐ×Ô¼ºÌØÓеēÂß¼ÏàµÈ”¸ÅÄ²»Í¬ÓÚ¶ÔÏóÉí·ÝµÄ¸ÅÄ¡£
2.
Éè¼Æ
equals()
[1]
ʹÓÃ
instanceof
²Ù×÷·û¼ì²é“ʵ²ÎÊÇ·ñΪÕýÈ·µÄÀàÐÍ”¡£
[2]
¶ÔÓÚÀàÖеÄÿһ¸ö“¹Ø¼üÓò”£¬¼ì²éʵ²ÎÖеÄÓòÓ뵱ǰ¶ÔÏóÖжÔÓ¦µÄÓòÖµ¡£
[2.1]
¶ÔÓÚ·Ç
float
ºÍ
double
ÀàÐ͵ÄÔÓïÀàÐÍÓò£¬Ê¹ÓÃ
==
±È½Ï£»
[2.2]
¶ÔÓÚ¶ÔÏóÒýÓÃÓò£¬µÝ¹éµ÷ÓÃ
equals
·½·¨£»
[2.3]
¶ÔÓÚ
float
Óò£¬Ê¹ÓÃ
Float.floatToIntBits
(
afloat
)
ת»»Îª
int
£¬ÔÙʹÓÃ
==
±È½Ï£»
[2.4]
¶ÔÓÚ
double
Óò£¬Ê¹ÓÃ
Double.doubleToLongBits
(
adouble
)
ת»»Îª
int
£¬ÔÙʹÓÃ
==
±È½Ï£»
[2.5]
¶ÔÓÚÊý×éÓò£¬µ÷ÓÃ
Arrays.equals
·½·¨¡£
3.
µ±¸Äд
equals()
µÄʱºò£¬×ÜÊÇÒª¸Äд
hashCode()
¸ù¾ÝÒ»¸öÀàµÄ
equals
·½·¨£¨¸Äдºó£©£¬Á½¸ö½ØÈ»²»Í¬µÄʵÀýÓпÉÄÜÔÚÂß¼ÉÏÊÇÏàµÈµÄ£¬µ«ÊÇ£¬¸ù¾Ý
Object.hashCode
·½·¨£¬ËüÃǽö½öÊÇÁ½¸ö¶ÔÏó¡£Òò´Ë£¬Î¥·´ÁË“ÏàµÈµÄ¶ÔÏó±ØÐë¾ßÓÐÏàµÈµÄÉ¢ÁÐÂ딡£
4.
Éè¼Æ
hashCode()
[1]
°Ñij¸ö·ÇÁã³£ÊýÖµ£¬ÀýÈç
17
£¬±£´æÔÚ
int
±äÁ¿
result
ÖУ»
[2]
¶ÔÓÚ¶ÔÏóÖÐÿһ¸ö¹Ø¼üÓò
f
£¨Ö¸
equals
·½·¨Öп¼ÂǵÄÿһ¸öÓò£©£º
[2.1]boolean
ÐÍ£¬¼ÆËã
(f ? 0 : 1);
[2.2]byte,char,short
ÐÍ£¬¼ÆËã
(int);
[2.3]long
ÐÍ£¬¼ÆËã
(int) (f ^ (f>>>32));
[2.4]float
ÐÍ£¬¼ÆËã
Float.floatToIntBits
(
afloat
)
;
[2.5]double
ÐÍ£¬¼ÆËã
Double.doubleToLongBits
(
adouble
)
µÃµ½Ò»¸ö
long
£¬ÔÙÖ´ÐÐ
[2.3];
[2.6]
¶ÔÏóÒýÓ㬵ݹéµ÷ÓÃËüµÄ
hashCode
·½·¨
;
[2.7]
Êý×éÓò£¬¶ÔÆäÖÐÿ¸öÔªËØµ÷ÓÃËüµÄ
hashCode
·½·¨¡£
[3]
½«ÉÏÃæ¼ÆËãµÃµ½µÄÉ¢ÁÐÂë±£´æµ½
int
±äÁ¿
c
£¬È»ºóÖ´ÐÐ
result=37*result+c;
[4]
·µ»Ø
result
¡£
5.
ʾÀý
ÏÂÃæµÄÕâ¸öÀà×ñÑÉÏÃæµÄÉè¼ÆÔÔò£¬ÖØÐ´ÁËÀàµÄ
equals()
ºÍ
hashCode()
¡£
package
com.zj.unit;
import
java.util.Arrays;
public
class
Unit {
private
short
ashort
;
private
char
achar
;
private
byte
abyte
;
private
boolean
abool
;
private
long
along
;
Ïà¹ØÎĵµ£º
»ñÈ¡java×ÊÔ´µÄ·½·¨
ÔÚ¿ª·¢java³ÌÐòµÄ¹ý³ÌÖУ¬ÎÒÃǾ³£Òª×öµÄÒ»¼þʾÍÊÇ»ñÈ¡×ÊÔ´¡£ÄÇôʲôÊÇ×ÊÔ´ÄØ£¿Ëµ°×ÁË£¬ÔÚ¼ÆËã»úÀïÄǾÍÊÇÒ»¶ÑÊý¾Ý¡£Ö»ÊÇÕâ¶ÑÊý¾Ý¶ÔÎÒÃǵÄjava³ÌÐòÓжàÖÖ±íÏÖÐÎʽ£¬Ò»°ãÀ´ËµÓÐFile£¬URL£¬InputStreamµÈµÈ¡£¶øµ¥¾ÍÎļþÕâÒ»Ïî¾ÍÓкܶàÖÖ£ºÅäÖÃÎļþ£¬javaÀàÎļþ£ ......
µÚÒ»ÖÖ·½·¨Ê¹Óà DesktopÀ࣬¸ÃÀà¼Ì³Ð×ÔObject
import java.awt.*;
import java.io.*;
class DesktopTest
{
public static void main(String args[])
{
if (!Desktop.isDesktopSupported())
{
System.err.println("Desktop not supported!");
System.exit(-1);
}
else
{
try{
Desktop desktop ......
´«ÖDz¥¿ÍJAVAÅàѵ2010-5-25
×î½ü×Ô¼ºµÄѹÁ¦Ì«¶àÁË£¬ËäÈ»ÏÖÔÚÀë±ÏÒµÖ»ÓÐÒ»¸öÔÂÖ®¾ÃÁË£¬µ«ÊÇÏÖÔÚ×Ô¼º¶ÔÕâ¸öÏîÄ¿µÄÀí½âÈ´ÊÇÄÇôµÄµÍ¼¶£¬µ±Ã¿¸öÈËÃæÁÙÕâÑùµÄʱºòÊDz»ÊǶ¼»áºÍÎÒÒ»ÑùÓÐÕâÑùµÄ¹ËÂÇ£¬µ«ÊÇÊÇÈ˶¼ÓÖÖªµÀ£¬Ö»ÓÐͨ¹ýŬÁ¦ÈÃ×Ô¼ºµÄʵÁ¦µÃµ½Ôö¼Ó£¬²Å»áÈÃ×Ô¼ºÐÄ̤ʵһµã£¬Ë½ÐÎÒÊÇÒ» ......
¼¯ºÏÀà˵Ã÷¼°Çø±ð
Collection
©ÀList
©¦©ÀLinkedList
©¦©ÀArrayList
©¦©¸Vector
©¦¡¡©¸Stack
©¸Set
Map
©ÀHashtable
©ÀHashMap
©¸WeakHashMap
Collection½Ó¿Ú
¡¡¡¡CollectionÊÇ×î»ù±¾µÄ¼¯ºÏ½Ó¿Ú£¬Ò»¸öCollection´ú±íÒ»×éObject£¬¼´CollectionµÄÔªËØ£¨Elements£©¡£Ò»Ð©
CollectionÔÊÐíÏàͬµÄÔªËØ¶øÁíһЩ²»ÐС ......
sqlserverÊý¾Ý¿â£ºjavaÁ¬½Ósqlserver2005Êý¾Ý¿âÐĵÃÌå»á
Ê×ÏȵÃÏÂÔØÇý¶¯³ÌÐòµ½Î¢ÈíÍøÕ¾ÏÂÔØMicrosoft SQL Server 2005 JDBC Driver 1.2¡¡¡¡½âѹMicrosoft SQL Server 2005 jdbc driver1.2.exe
µÃµ½sqljdbc.jar£¬ÓõÃʱºòÖ±½Ó¼Óµ½classpathÖÐÈ¥.
¡¡ÉèÖÃSQL Server·þÎñÆ÷
·ÀÖ¹³öÏÖ
com.mi ......