gpt4 book ai didi

java - 类扩展另一个类并实现 java 中的接口(interface)可以转换为这些类型中的任何一个吗?

转载 作者:行者123 更新时间:2023-11-30 04:48:54 26 4
gpt4 key购买 nike

我有像 Spring Bean 这样的:

 <bean id="testBean" class="TestBean"
......
<property name="resolver" ref="resolver"....
<小时/>
class Resolver extends BaseResolver implements IManagementInterface

在 TestBean 类 setter 中:

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

但是当我运行时我收到异常:

Cannot convert value of type Resolver to required type IManagementInterface.

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

最佳答案

首先进行全新安装。如果这不能使问题消失,则您可​​能遇到了类加载器问题。如果您的 Resolver 实例(以及相应的类声明)是由与 TestBean 不同的类加载器加载的,则它属于不同的类加载器领域,并且它(或者特别是其 super 接口(interface))因此,IManagementInterface) 被 JVM 视为与 TestBean.setResolverIManagementInterface 参数类型完全不同的类型。所以一个不能被转换到另一个。

参见this earlier answer of mine寻找一种方法来验证这是否是根本原因。

关于java - 类扩展另一个类并实现 java 中的接口(interface)可以转换为这些类型中的任何一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com