描述
在需要强制转换为泛型的时候,编辑器会提示警告
已经看到太多文章说忽略掉警告信息了,所以写了这篇文章
例如如下代码:
public <T extends Component> T getComponent(Entity e, Class<T> exampleClass)
{
// 多余代码忽略
T result = (T)store.get(e);
return result;
}
解决方案
可以使用 Class.cast()
来替代强制转换
修改如下代码:
T result = (T)store.get(e);
修改成:
T result = exampleClass.cast(store.get(e));
Tips:
Class.cast()
转换失败会报 ClassCastException
异常,还是需要在强转之前对于数据类型进行判断