Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串中的Java类型类异常_Java_Casting - Fatal编程技术网

字符串中的Java类型类异常

字符串中的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 使用相应的设置器,如下所示:

我试图修复以下代码段:

在spring上下文文件中,有一个bean配置,如下所示:

<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(字符串[]接口){
列表