我知道这是java.lang.reflect.*的一部分,但我找不到任何建议来指导我如何解决这个问题。
我想使用字符串的内容来创建一个对象的实例,该对象的名称与该字符串所存储的内容相同。
例如。
String[] carName = {"volvo","vw","bmw"};
汽车carName[0];
汽车carName[1];
汽车车名[2];
我偶然发现了这个片段,它看起来很有希望:
汽车 car = (Car) Class.forName("沃尔沃").newInstance();
它抛出:未处理的异常类型ClassNotFoundException
编辑:抱歉,我说得不够清楚,我无论如何都不是专业人士。不,我没有名为沃尔沃的类(class)。我实际上正在尝试定义一个通用类(汽车),然后通过字符串初始化它的实例。
最佳答案
您需要
捕获
ClassNotFoundException
,或者声明它从您的方法中抛出您需要指定类的完全限定名称。如果该类打包为
foo.cars.Volvo
,则使用它作为其名称。
关于 java 。用于创建对象实例的字符串内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4753740/