⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gethash.htm

📁 这个压缩包里的都是超级经典的java例子
💻 HTM
字号:
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Comparing Object Values Using Hash Codes (Java Developers Almanac Example)
</TITLE>
<META CONTENT="Patrick Chan" NAME="AUTHOR">
<META CONTENT="Code Examples from The Java Developers Almanac 1.4" NAME="DESCRIPTION">
<META CONTENT="Addison-Wesley/Patrick Chan" NAME="OWNER">
<META CONTENT="3/20/02" NAME="revision">
<META CONTENT="no-cache" HTTP-EQUIV="Pragma">
<LINK href="/almanac.css" media="screen" type="text/css" rel="stylesheet">
</HEAD>
<BODY>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
</TABLE>
<br>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
<TR>
<TD rowspan="3"><A HREF="/?l=ex"><IMG BORDER="0" ALIGN="BOTTOM" HSPACE="10" SRC="/egs/almanac14a.jpg"></A></TD><TD VALIGN="top">
<h1>The Java Developers Almanac 1.4</h1>
<br>
        Order this book from <a href="/cgi-bin/scripts/redirect.pl?l=ex&url=http://www.amazon.com/exec/obidos/ASIN/0201752808/xeo">Amazon</a>.
    </TD>
</TR>
<TR>
<TD align="right" valign="bottom">
<FORM method="get" action="/cgi-bin/search/find.pl">
<INPUT size="25" name="words" type="text"><INPUT value="Search" type="submit">
</FORM>
</TD>
</TR>
</TABLE>
<HR color="#6666cc">
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD valign="top"><script type="text/javascript">
<!--
google_ad_client = "pub-6001183370374757";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel = "4777242811";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "6666CC";
google_color_url = "6666CC";
google_color_text = "000000";
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD valign="top">
<DIV ALIGN="LEFT">
<A HREF="/">Home</A>
    &gt;
    <A HREF="../index.html">List of Packages</A>
    &gt;

    
    <A HREF="../java.lang/pkg.html">java.lang</A><font color="#666666" class="xsmall-font">
        &nbsp;[58 examples]
    </font>
        &gt;
        <B><A HREF="../java.lang/pkg.html#Objects">Objects</A></B><font color="#666666" class="xsmall-font">
            &nbsp;[3 examples]
            </font>
</DIV><P>
  <h3>e57. Comparing Object Values Using Hash Codes</h3>

The hash code of an object is an integer value that's computed using
the value of the object. For example, for a <code>String</code> object, the
characters of the string are used to compute the hash code. For an
<code>Integer</code> object, the integer value is used to compute the hash code.

<P> Hash codes are typically used as an efficient way of comparing
the values of two objects.  For example, if the hash code of the
string <code>"hello"</code> is 33, another <code>String</code> object with the same
contents would also a hash code of 33.

<P> If the hash codes of two object values are different, the
object values are guaranteed to be different.  However, if the hash
codes of two object values are the same, the object values are
<font color="#0066ff"><i>not</i></font> guaranteed to be the same.  An additional call to
<code>Object.equals()</code> must be made to confirm that the object values
are the same.  A good hash code algorithm will minimize the chance of
two different values having the same hash code.

<P> The `<code>==</code>' operator is the most efficient way to determine if two
objects (rather than object values) are the same.  However, in very
limited applications, it may be necessary to get the hash code of an
object (called the identity hash code) rather than of the object
value.  For example, a hash table of objects requires the use of the
identity hash code.


<pre>    File file1 = new File(<font color="#0066ff"><i>"a"</i></font>);
    File file2 = new File(<font color="#0066ff"><i>"a"</i></font>);
    File file3 = new File(<font color="#0066ff"><i>"b"</i></font>);
    
    // Get the hash codes
    int hc1 = file1.hashCode(); // 1234416
    int hc2 = file2.hashCode(); // 1234416
    int hc3 = file3.hashCode(); // 1234419
    
    // Check if two object values are the same
    if (hc1 == hc2 &amp;&amp; file1.equals(file2)) {
        // They are the same
    }
    
    // Get the identity hash codes
    int ihc1 = System.identityHashCode(file1); // 1027049
    int ihc2 = System.identityHashCode(file2); // 14642381
    int ihc3 = System.identityHashCode(file3); // 6298545
</pre>
<P><table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td bgcolor="#6666cc" align="center"><font color="#ffffff">
            &nbsp;<b>Related Examples</b></font></td>
</tr>
</table>


e56. <a class="eglink" href="CloneObject.html?l=rel">
    Cloning an Object
</a>
<br>

e58. <a class="eglink" href="Wrap.html?l=rel">
    Wrapping a Primitive Type in a Wrapper Object
</a>
<br>


<table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td align="left">
<br>
        See also: 
<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Arrays">
    Arrays
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Assertions">
    Assertions
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Classes">
    Classes
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Commands">
    Commands
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Numbers">
    Numbers
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Strings">
    Strings
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#System%20Properties">
    System Properties
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.lang/pkg.html?l=rel#Threads">
    Threads
</a>&nbsp;&nbsp;

</td>
</tr>
</table>

<br>

<br>
<FONT class="xsmall-font">
&copy; 2002 Addison-Wesley.
</FONT></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD valign="top"><A href="http://compositesw.com/devzone?ref=javaalmanac"><IMG alt="Click Here" height="600" width="120" border="0" src="/csw_oad_120x600_final.gif"></A></TD>
</TR>
</TABLE>
</BODY>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META CONTENT="NO-CACHE" HTTP-EQUIV="PRAGMA">
</HEAD>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -