字符串中的Java类型类异常
我试图修复以下代码段: 在spring上下文文件中,有一个bean配置,如下所示:字符串中的Java类型类异常,java,casting,Java,Casting,我试图修复以下代码段: 在spring上下文文件中,有一个bean配置,如下所示: <bean id="myBean" > <property name="interface"> <value>com.company.data.DataClass</value> </property> </bean> com.company.data.DataClass 使用相应的设置器,如下所示:
<bean id="myBean" >
<property name="interface">
<value>com.company.data.DataClass</value>
</property>
</bean>
com.company.data.DataClass
使用相应的设置器,如下所示:
public void setInterface(Class<?>[] interfaces)
{
this.worker.setInterfaces(interfaces);
}
公共接口(类[]接口)
{
this.worker.setInterfaces(接口);
}
当类存在时,此操作有效。但在某些环境中,该类可能不存在,然后抛出错误。 相反,我们希望在类不可用时处理错误 我尝试按如下方式修复setter代码,但现在当类确实存在时,它失败了: java.lang.ClassCastException:java.lang.String不能强制转换为[Ljava.lang.Class]
public void setInterface(Object interfaceTest)
{
try
{
Class<?>[] interfaces = (Class<?>[])interfaceTest);
this.worker.setInterfaces(interfaces);
}
catch(Exception ex)
{
this.notValidInterface = true;
}
}
公共接口(对象接口测试)
{
尝试
{
类[]接口=(类[])接口测试);
this.worker.setInterfaces(接口);
}
捕获(例外情况除外)
{
this.notValidInterface=true;
}
}
我不知道为什么这里的处理不同。使用
String
定义值,并使用Class.forName()
尝试加载类,检查它是否存在
com.company.data.DataClass
public void setInterface(字符串[]接口){
列表