2012-04-23 62 views
1

我有春豆状:类扩展了另一个类,并在java中实现接口可以被转换为anyd这些类型?

<bean id="testBean" class="TestBean" 
    ...... 
    <property name="resolver" ref="resolver".... 

class Resolver extends BaseResolver implements IManagementInterface 

类testBean这个二传手:

public void setResolver (IManagementInterface resolver) { 
this.resolver=resolver; 
... 

但是当我跑我得到异常:

不能转换价值类型的解析器转换为所需的类型IManagementInte rface。

但这似乎不正确 - 因为Resolver也是类型IManagementInterface。这个错误的意义是什么?或者可能是我应该干净安装我的所有项目?

+0

你可以发布''完整定义吗? – Xaerxess 2012-04-23 09:44:26

回答

2

先做一个干净的安装。如果这不会使问题消失,那么您可能会遇到类加载器问题。如果您的Resolver实例(和相应的类声明)由不同的类加载器加载而不是TestBean,则它属于不同的类加载器领域,并且它(或特别是其超级接口IManagementInterface)因此被JVM视为与完全不同的类型IManagementInterface参数类型TestBean.setResolver。所以不能投到另一个。

请参阅this earlier answer of mine以验证这是否是根本原因。

相关问题