私はintとして重みを持つ不変オブジェクトを持っています.私のコードでは、重みを更新する必要があります.inroderを実行するには、そのオブジェクトのコピーを作成し、更新された値で重みを設定する必要があります. しかし、オブジェクトには clone() オーバーライドがありません。また、clone() または Cloneable インターフェイスの実装のどちらが優れているかわかりません。
ここに私のクラスがあります:
public class WeightedEdge implements Edge {
private final WeightedEdgeComparator _weightedEdgeComparator;
private final Vertex _target;
private final int _weight;
WeightedEdge(Bundle bundle, Vertex target, int weight) {
_weightedEdgeComparator = new EdgeComparator(bundle.getDirection());
_target = target;
_weight = weight;
}
@Override
public Vertex target() {
return _target;
}
@Override
public int weight() {
return _weight;
}
@Override
public int compareTo(WeightedEdge o) {
return _EdgeComparator.compare(this, o);
}
@Override
public int hashCode() {...}
@Override
public boolean equals(Object obj) { ... }
@Override
public String toString() { ... }