0

私はこの質問を理解していません。メソッドのシグネチャを要求していますか?それは次のとおりです。

public int compareTo(Object o)

またはそれは次のとおりです。compareTo()は、呼び出し元のオブジェクトが指定されたオブジェクトよりも小さいか、等しいか、または大きいかをそれぞれ示す負の数、0、および正の数を返しますか?

助けてくれてありがとう。

4

3 に答える 3

3

インストラクターは、その2番目の答え(戻り値の意味)を探しています。これがメソッドのセマンティクス(「意味」)です。署名は「構文」です。

于 2011-12-16T01:46:17.740 に答える
3

ウィキペディアから:

コンピュータサイエンスでは、セマンティクスという用語は、言語の形式(構文)ではなく、言語の意味を指します。Euzenatによると、セマンティクスは「構文を解釈するためのルールを提供しますが、直接意味を提供するのではなく、宣言されたものの可能な解釈を制約します」。言い換えれば、セマンティクスは式の解釈に関するものです。さらに、この用語は、情報コンテンツを表すために特別に設計および使用される特定のタイプのデータ構造に適用されます。

基本的に、彼はあなたに入力の意味compareTo(...)とその出力が何であるかを尋ねています。

于 2011-12-16T01:54:20.090 に答える
2

ターゲットが渡されたオブジェクトよりも小さい場合、戻り値は負になります。等しい場合はゼロ。より大きい場合は正。

次の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
于 2011-12-16T01:47:57.250 に答える