Class Cloner

java.lang.Object
io.github.ai4ci.util.Cloner

public class Cloner extends Object
Utility for making deep copies (vs. clone()'s shallow copies) of objects. Objects are first serialized and then deserialized. Error checking is fairly minimal in this implementation. If an object is encountered that cannot be serialized (or that references an object that cannot be serialized) an error is printed to System.err and null is returned. Depending on your specific application, it might make more sense to have copy(...) re-throw the exception. from: https://javatechniques.com/blog/faster-deep-copies-of-java-objects/
  • Constructor Details

    • Cloner

      public Cloner()
  • Method Details

    • copy

      public static <X extends Serializable> X copy(X orig)
      Returns a copy of the object, or null if the object cannot be serialized.
    • copy

      public static <X extends Serializable> X copy(X orig, long estimatedSize)
    • estimateSize

      public static long estimateSize(Object obj)