gpt4 book ai didi

java - 声明存储在集合中的类型(文字)的变量

转载 作者:行者123 更新时间:2023-11-29 03:26:48 27 4
gpt4 key购买 nike

是否可以声明存储在集合中的类型(文字)变量?或者这可能更像是一种解释型语言的特性/任务,而不是像 Java 这样的编译型语言?

例如:

import java.util.*;

class Base {}
class A1 extends Base{}
class A2 extends Base{}

public class Test{

public static void main(String[] args){

ArrayList<Class<? extends Base>> typeArrayList=new ArrayList<Class<? extends Base>>();
typeArrayList.add(A1.class);
typeArrayList.add(A2.class);
typeArrayList.add(A1.class);
typeArrayList.add(A1.class);
//etc. etc.

//now that all the types are nicely stored in a collection,
//could we somehow use them to declare variables of those types?
//e.g. declare something like:
//typeArrayList.get(1) someVariable;

}//main
}//Testlass

最佳答案

您可以使用:

Object o = typeVarArrayList.get(1).newInstance();

Type o = (Type) typeVarArrayList.get(1).newInstance();

但是你需要类有一个没有参数的构造函数。

如果您需要更具体的构造函数,请参阅 here

关于java - 声明存储在集合中的类型(文字)的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20619304/

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