gpt4 book ai didi

java - 如何在 Java 中不构造 U 的情况下创建 Class 的新实例?

转载 作者:行者123 更新时间:2023-12-02 00:41:55 25 4
gpt4 key购买 nike

我正在制作一个类似于《孢子》细胞阶段的游戏,在其中你构建生物体来对抗其他进化的生物体,在游戏中每个Organism由一个ArrayList组成> Cells。

有不同类型的 Cell 具有不同的行为,所有这些都有自己的类,该类扩展了 Class Cell

当两个生物体产生后代时,我会迭代它们 parent 的 ArrayList 并逐个单元地比较它们,我可以确定哪种类型的单元格将出现在该索引中(基于它的父单元格相对于 CellNucleus 位于同一位置),并且我想创建该确切类型的单元格,而无需列出带有 if 语句的每种类型的 Cell

我实际上更有效地执行了上述操作,但为了便于阅读,我对其进行了简化

简单地说,我正在工具类中制作这个功能,但我不知道如何完成它:

    public static Class<?extends Cell>copyCell(Class<?extends Cell> cellz)
{

return ?

}

最佳答案

您应该使用Class#newInstance()和一个通用方法

public static <T extends Cell> T cloneCell(Class<T> cellz) {
return cellz.newInstance();
}

不确定,但我认为 T 类必须有一个不带参数的构造函数;)
希望有帮助!

关于java - 如何在 Java 中不构造 U 的情况下创建 Class<?extends U> 的新实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com