gpt4 book ai didi

java - 如何在java中从带参数的字符串动态创建实例?

转载 作者:行者123 更新时间:2023-12-01 07:31:40 26 4
gpt4 key购买 nike

我知道这个问题有时会得到解答。但参数始终是一个对象。这就是我想要替换的:

if (s.equals("A")) { add (obj = new A(x,y)); }
if (s.equals("B")) { add (obj = new B(x,y)); }
if (s.equals("C")) { add (obj = new C(x,y)); }

我有这个:

try
{
Class cl = Class.forName(s);
Constructor con = cl.getConstructor (x, y);
obj = con.newInstance(x, y);
}

但它期望 x,y 作为一个类,但它是一个 int。如何做到这一点>

最佳答案

你需要

cl.getConstructor(int.class, int.class);

存在反射(reflect)原始类型的 Class 对象,甚至 void 类型在 Void.class 中也有反射对应项。

关于java - 如何在java中从带参数的字符串动态创建实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896900/

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