java 。用于创建对象实例的字符串内容

标签 java reflection

我知道这是java.lang.reflect.*的一部分,但我找不到任何建议来指导我如何解决这个问题。

我想使用字符串的内容来创建一个对象的实例,该对象的名称与该字符串所存储的内容相同。

例如。
String[] carName = {"volvo","vw","bmw"};
汽车carName[0];
汽车carName[1];
汽车车名[2];

我偶然发现了这个片段,它看起来很有希望:
汽车 car = (Car) Class.forName("沃尔沃").newInstance();
它抛出:未处理的异常类型ClassNotFoundException

编辑:抱歉,我说得不够清楚,我无论如何都不是专业人士。不,我没有名为沃尔沃的类(class)。我实际上正在尝试定义一个通用类(汽车),然后通过字符串初始化它的实例。

最佳答案

  1. 您需要捕获ClassNotFoundException,或者声明它从您的方法中抛出

  2. 您需要指定类的完全限定名称。如果该类打包为 foo.cars.Volvo,则使用它作为其名称。

关于 java 。用于创建对象实例的字符串内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4753740/

相关文章:

java - 非法参数异常 : wrong number of arguments

java - 如何传递 java.lang.reflect.Array.newInstance 的泛型类型?

java - 使用增强的 for 循环时数组是否被转换?

java - Java 和 Python 中的威胁安全与性能

java - jar 文件无法正常工作?

java - 无法打开日志设备 '/dev/log/main' : Permission denied

java - 什么时候使用 JSP,什么时候使用 Servlet?

java Class.getDeclaredMethods 似乎显示已被删除的方法

java - 用于测试 Java 类结构的库或框架

c# - 设置装配引用路径