gpt4 book ai didi

java - 可以从作为参数传递的类创建对象吗?

转载 作者:行者123 更新时间:2023-12-01 07:14:21 25 4
gpt4 key购买 nike

我做了一个接收类和 int 的方法。我想知道是否可能以及如何从传递的类参数创建对象。

public void createObject(Class clazz, int n){
for(int i=0;i<n;i++){
//new object from the clazz
}
}

可以这样做吗?我将创建要在线程中运行的对象。

如何确保该类实现 Callable?

编辑:可以使用参数调用构造函数吗?

最佳答案

你的意思是这样吗?

if(Callable.class.isAssignableFrom(clazz)) {
Callable obj = (Callable) clazz.newInstance();

} else if (MyAbstractClass.class.isAssignableFrom(clazz)) {
MyAbstractClass obj = (MyAbstractClass) clazz.newInstance();

} else {
throw new IllegalArgumentException(clazz+" not valid");
}

如果你有一个带有参数的构造函数,你可以这样做

Callable obj = (Callable) clazz.getConstructor(int.class).newInstance(10);

关于java - 可以从作为参数传递的类创建对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780868/

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