我不明白这个问题。它是否要求方法的签名,即:
public int compareTo(Object o)
还是:compareTo()返回负数、0、正数分别表示调用对象是小于、等于还是大于指定对象?
谢谢你的帮助。
来自维基百科:
在计算机科学中,语义一词是指语言的含义,而不是它们的形式(句法)。根据 Euzenat 的说法,语义“提供了解释语法的规则,这些规则不直接提供意义,但限制了对所声明内容的可能解释。” 换句话说,语义是关于表达式的解释。此外,该术语适用于特定类型的数据结构,专门设计和用于表示信息内容。
基本上,他是在问你input to和 output的含义是什么。compareTo(...)
讲师正在寻找第二个答案——返回值的含义。这就是方法的语义(“意义”)。签名是“语法”。
如果目标小于传入的对象,则返回值为负;如果相等则为零;大于则为正。
如果您阅读以下 javadocs,那就很清楚了Comparable
:
int compareTo(T o)
将此对象与指定对象进行比较以进行排序。返回负整数、零或正整数,因为此对象小于、等于或大于指定对象。
所以
int order;
order = "oranges".compareTo("apples"); // greater than zero
order = "oranges".compareTo("oranges"); // zero
order = "oranges".compareTo("plums"); // less than zero