描述
在需要强制转换为泛型的时候,编辑器会提示警告
已经看到太多文章说忽略掉警告信息了,所以写了这篇文章
例如如下代码:
public<TextendsComponent>TgetComponent(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
异常,还是需要在强转之前对于数据类型进行判断