comparator.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 282 行 · 第 1/2 页
HTML
282 行
<B>方法摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="Comparator.html#compare(T, T)">compare</A></B>(<A HREF="Comparator.html" title="Comparator 中的类型参数">T</A> o1, <A HREF="Comparator.html" title="Comparator 中的类型参数">T</A> o2)</CODE><BR> 比较用来排序的两个参数。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="Comparator.html#equals(java.lang.Object)">equals</A></B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> obj)</CODE><BR> 指示是否其他对象“等于”此 Comparator。</TD></TR></TABLE> <P><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>方法详细信息</B></FONT></TH></TR></TABLE><A NAME="compare(java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="compare(T, T)"><!-- --></A><H3>compare</H3><PRE>int <B>compare</B>(<A HREF="Comparator.html" title="Comparator 中的类型参数">T</A> o1, <A HREF="Comparator.html" title="Comparator 中的类型参数">T</A> o2)</PRE><DL><DD>比较用来排序的两个参数。随第一个参数小于、等于或大于第二个参数而分别返回负整数、零或正整数。<p>实现程序必须确保对于所有的 <tt>x</tt> 和 <tt>y</tt> 而言,都存在 <tt>sgn(compare(x, y)) == -sgn(compare(y, x))</tt>。(这意味着当且仅当 <tt>compare(y, x)</tt> 抛出异常时 <tt>compare(x, y)</tt> 才必须抛出异常。)<p>实现程序还必须确保关系是可传递的:<tt>((compare(x, y)>0) && (compare(y, z)>0))</tt> 意味着 <tt>compare(x, z)>0</tt>。<p>最后,实现程序必须确保 <tt>compare(x, y)==0</tt> 意味着对于所有的 <tt>z</tt> 而言,都存在 <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt>。<p>虽然这种情况很普遍,但并<i>不</i> 严格要求 <tt>(compare(x, y)==0) == (x.equals(y))</tt>。一般说来,任何违背了这一点的 comparator 都应该清楚地指出这一事实。推荐的语言是“注意:此 comparator 强行进行与等号一致的排序。”<P><DD><DL><DT><B>参数:</B><DD><CODE>o1</CODE> - 要比较的第一个对象。<DD><CODE>o2</CODE> - 要比较的第二个对象。<DT><B>返回:</B><DD>随第一个参数小于、等于或大于第二个参数而分别返回负整数、零或正整数。<DT><B>抛出:</B><DD><CODE><A HREF="../lang/ClassCastException.html" title="java.lang 中的类">ClassCastException</A></CODE> - 如果参数的类型不允许此 Comparator 对它们进行比较。</DL></DD></DL><HR><A NAME="equals(java.lang.Object)"><!-- --></A><H3>equals</H3><PRE>boolean <B>equals</B>(<A HREF="../lang/Object.html" title="java.lang 中的类">Object</A> obj)</PRE><DL><DD>指示是否其他对象“等于”此 Comparator。此方法必须遵守 <tt>Object.equals(Object)</tt> 的常规协定。此外,<i>仅当</i> 指定的 Object 也是一个 comparator,并且强行实现与此 comparator 相同的排序时,此方法才返回 <tt>true</tt>。因此,<code>comp1.equals(comp2)</code> 意味着对于每个对象引用 <tt>o1</tt> 和 <tt>o2</tt> 而言,都存在 <tt>sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))</tt>。<p>注意,<i>不</i> 重写 <tt>Object.equals(Object)</tt> 方法<i>总是</i> 安全的。然而,在某些情况下,重写此方法可以允许程序确定两个不同的 Comparator 是否强行实现了相同的排序,从而提高性能。<P><DD><DL><DT><B>覆盖:</B><DD>类 <CODE><A HREF="../lang/Object.html" title="java.lang 中的类">Object</A></CODE> 中的 <CODE><A HREF="../lang/Object.html#equals(java.lang.Object)">equals</A></CODE></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>obj</CODE> - 要进行比较的引用对象。<DT><B>返回:</B><DD>仅当指定的对象也是一个 comparator,并且强行实现与此 comparator 相同的排序时才返回 <code>true</code>。<DT><B>另请参见:</B><DD><A HREF="../lang/Object.html#equals(java.lang.Object)"><CODE>Object.equals(java.lang.Object)</CODE></A>, <A HREF="../lang/Object.html#hashCode()"><CODE>Object.hashCode()</CODE></A></DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>软件包</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>类</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Comparator.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Standard Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="Collections.html" title="java.util 中的类"><B>上一个类</B></A> <A HREF="ConcurrentModificationException.html" title="java.util 中的类"><B>下一个类</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html@java_2Futil_2FComparator.html" target="_top"><B>框架</B></A> <A HREF="Comparator.html" target="_top"><B>无框架</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>所有类</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>所有类</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 摘要: 嵌套 | 字段 | 构造方法 | <A HREF="#method_summary">方法</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">详细信息: 字段 | 构造方法 | <A HREF="#method_detail">方法</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="../../../../../../../../java.sun.com/cgi-bin/bugreport.cgi">提交错误或意见</a><br>有关更多的 API 参考资料和开发人员文档,请参阅 <a href="../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/devdocs-vs-specs.html">Java 2 SDK SE 开发人员文档</a>。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。 <p>版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守<a href="../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/license.html">许可证条款</a>。另请参阅<a href="../../../../../../../../java.sun.com/docs/redist.html">文档重新分发政策</a>。</font></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?