Vector<Float> kopieren, vergleichen
-
Hallo,
ich habe hier ein kleines Problem, wenn ich die Änderungen in einem java.util.Vector von Floats verfolgen will:
public void update(Vector<Float> new_value) { // history und current sind membervariablen (fields) history_value = current_value; current_value = new_value; boolean has_changed = false; for (int i = 0; i < current_value.size(); i++) if (Math.abs(history_value.get(i) - current_value.get(i)) > epsilon) m_has_changed = true; }
Problem ist, das has_changed immer false bleibt, weil history_value immer auf new vaue gesetzt wird, weil es eine Referenz und keine Kopie ist.
Wie kann ich das lösen?
Philipp
-
Je nachdem wo new_value herkommt ist das nicht das Problem. Die Referenz history_value zeigt zwar dorthin wo vorher noch current_value hingezeigt hat. Aber wenn die Referenz current_value nun auf new_value zeigt entsteht da keine transitive Kette.
MfG SideWinder