Java 使用Class.cast()未选中的转换

Java 使用Class.cast()未选中的转换,java,generics,casting,warnings,unchecked,Java,Generics,Casting,Warnings,Unchecked,我的目标是修复以下警告: [未选中]未选中的转换 retValue=WidgetSelectionModel.class.cast(新的EllipseSelectionModelImpl(canBeSelected)); 必需:WidgetSelectionModel 找到:WidgetSelectionModel 其中T是一个类型变量: T扩展方法getSelectionModel(类,布尔)中声明的形状 这是我们班的代码 public <T extends Shape> Widg

我的目标是修复以下警告:

[未选中]未选中的转换
retValue=WidgetSelectionModel.class.cast(新的EllipseSelectionModelImpl(canBeSelected));
必需:WidgetSelectionModel
找到:WidgetSelectionModel
其中T是一个类型变量:
T扩展方法getSelectionModel(类,布尔)中声明的形状

这是我们班的代码

public <T extends Shape> WidgetSelectionModel<T> getSelectionModel(final Class<T> shapeClass, final boolean canBeSelected) {
   return WidgetSelectionModel.class.cast(new EllipseSelectionModelImpl(canBeSelected));
}
public WidgetSelectionModel getSelectionModel(最终类shapeClass,最终布尔值可选择){
返回WidgetSelectionModel.class.cast(新的EllipseSelectionModelImpl(canBeSelected));
}

尝试此返回(WidgetSelectionModel)新的EllipseSelectionModelImpl(canBeSelected));这给出了另一个警告:[未选中]未选中casttry此返回(WidgetSelectionModel)new EllipseSelectionModelImpl(canBeSelected));这给出了另一个警告:[未选中]未选中强制转换