【发布时间】:2021-06-02 20:31:07
【问题描述】:
假设我有 2 个对象数组,它们都扩展了同一个抽象类,我希望第二个列表的第一个元素是第一个数组中的第一个元素是同一类的新实例(假设它们采用相同的参数)。
Animals[] animals1 = new Animals[] {new Cat(), new Dog()...}
Animals[] animals2 = new Animals[] {new animals1[0].getClass()} //doesn't work obviously
有没有办法做到这一点?
【问题讨论】:
-
您可以使用反射或(抽象)工厂模式。
-
也许 Animal 及其子类实现了 Cloneable?