equals
<code>1</code>
<code>objects.equal(</code><code>"a"</code><code>, </code><code>"a"</code><code>); </code><code>// returns true</code>
<code>2</code>
<code>objects.equal(</code><code>null</code><code>, </code><code>"a"</code><code>); </code><code>// returns false</code>
<code>3</code>
<code>objects.equal(</code><code>"a"</code><code>, </code><code>null</code><code>); </code><code>// returns false</code>
<code>4</code>
<code>objects.equal(</code><code>null</code><code>, </code><code>null</code><code>); </code><code>// returns true</code>
hashcode
tostring
<code>// returns "classname{x=1}"</code>
<code>objects.tostringhelper(</code><code>this</code><code>).add(</code><code>"x"</code><code>, </code><code>1</code><code>).tostring();</code>
<code>// returns "myobject{x=1}"</code>
<code>objects.tostringhelper(</code><code>"myobject"</code><code>).add(</code><code>"x"</code><code>, </code><code>1</code><code>).tostring();</code>
compare/compareto
實作一個比較器[comparator],或者直接實作comparable接口有時也傷不起。考慮一下這種情況:
<code>01</code>
<code>class</code> <code>person </code><code>implements</code> <code>comparable<person> {</code>
<code>02</code>
<code> </code><code>private</code> <code>string lastname;</code>
<code>03</code>
<code> </code><code>private</code> <code>string firstname;</code>
<code>04</code>
<code> </code><code>private</code> <code>int</code> <code>zipcode;</code>
<code>05</code>
<code>06</code>
<code> </code><code>public</code> <code>int</code> <code>compareto(person other) {</code>
<code>07</code>
<code> </code><code>int</code> <code>cmp = lastname.compareto(other.lastname);</code>
<code>08</code>
<code> </code><code>if</code> <code>(cmp != </code><code>0</code><code>) {</code>
<code>09</code>
<code> </code><code>return</code> <code>cmp;</code>
<code>10</code>
<code> </code><code>}</code>
<code>11</code>
<code> </code><code>cmp = firstname.compareto(other.firstname);</code>
<code>12</code>
<code>13</code>
<code>14</code>
<code>15</code>
<code> </code><code>return</code> <code>integer.compare(zipcode, other.zipcode);</code>
<code>16</code>
<code> </code><code>}</code>
<code>17</code>
<code>}</code>
comparisonchain執行一種懶比較:它執行比較操作直至發現非零的結果,在那之後的比較輸入将被忽略。
<code>public</code> <code>int</code> <code>compareto(foo that) {</code>
<code> </code><code>return</code> <code>comparisonchain.start()</code>
<code> </code><code>.compare(</code><code>this</code><code>.astring, that.astring)</code>
<code> </code><code>.compare(</code><code>this</code><code>.anint, that.anint)</code>
<code>5</code>
<code> </code><code>.compare(</code><code>this</code><code>.anenum, that.anenum, ordering.natural().nullslast())</code>
<code>6</code>
<code> </code><code>.result();</code>
<code>7</code>