我有一个通用接口,我可以提供许多实现,对于每个这样的实现,我在 spring 定义文件中关联一个 id 属性。
IConfigurationService<T>
现在我正在尝试编写一个实用方法,它可以通过 id 获取我的实现。
以下方法是一种实用方法,它会向我抛出警告消息:
public <T extends Serializable> IConfigurationService<T> getBean(Class<T> type, String id){
return (IConfigurationService<T>)context.getBean(id, IConfigurationService.class);
}
警告消息:类型安全:从 IConfigurationService 到 IConfigurationService 的未经检查的强制转换。
如何摆脱此警告消息?
如果我按如下方式更改 return 语句,则会出现编译错误:
return (IConfigurationService<T>)context.getBean(id, IConfigurationService<T>.class);
如果有人能确定我在这里做错了什么,我会很有帮助。