@SuppressWarnings("unchecked") static <T> T serialClone(T o) { try {
ObjectInputStream ois = new ObjectInputStream
(new ByteArrayInputStream(serialBytes(o)));
T clone = (T) ois.readObject(); return clone;
} catch (Throwable t) { thrownew Error(t);
}
}
publicstaticvoid main(String[] args) throws Exception {
Foo[] a = { new Foo(2), new Foo(3), new Foo(1) };
List list = Arrays.asList(a);
Comparator cmp = Collections.reverseOrder();
Collections.sort(list, cmp);
Foo[] golden = { new Foo(3), new Foo(2), new Foo(1) };
List goldenList = Arrays.asList(golden); if (!list.equals(goldenList)) thrownew Exception(list.toString());
Comparator clone = serialClone(cmp);
List list2 = Arrays.asList(a);
Collections.sort(list2, clone); if (!list2.equals(goldenList)) thrownew Exception(list.toString());
}
}
class Foo implements Comparable { int val;
Foo(int i) { val = i; }
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.