0
假設已經定義了一個類Point2D用於存儲具有x和y座標的二維點(都是雙精度)。這個類包含以下成員:與雙精度對比
你的任務是通過加上一個適當的compareTo方法修改類是可比較的。點應該相對於它們與原點的距離進行比較,離原點越近的點越少。兩點之間的距離定義爲x和y座標之差的平方和的平方根。
我不確定如何實現compareTo方法,當有雙重。 用整數和字符串我會用下面的語法:
public int compareTo(object name) {
// comparing integers
if (this.object != other.object) {
return this.field - other.field;
} else { // comparing strings
return toString().compareTo(other.toString());
}
}
有兩個雙打之間的比較時,如貨幣或以上Point類廣義的實施策略?
因此就'compareTo()'而言,'5,0'和'0,5'是「相等的」,是吧?猜測'Point.compareTo()'的javadoc應該說*「注意:這個類的自然順序與equals不一致。」*,如[Comparable.compareTo()'](https:/ javadoc) /docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html#compareTo%28T%29)。 – Andreas