java-类型安全性:未经检查的强制转换和泛型
作者:互联网
我有一张非常简单的地图
private Map<String,T> map = Collections.synchronizedSortedMap(new TreeMap<String,T>());
我想定义以下方法
public T[] values(){
return (T[])map.values().toArray();
}
显然,我最终遇到了一个未经检查的强制转换问题…我的问题是我无法调用toArray(new T [size]).
我应该怎么做才能避免出现此警告(不使用@SuppressedWarning)
谢谢
解决方法:
避免使用数组.返回列表< T>.
数组是必要的基本构建块,但是在类型系统中它们很奇怪.最好避免在API中使用它们.数组几乎可以在任何地方被ArrayList替换.性能是一样的.
标签:casting,generics,map,type-safety,java 来源: https://codeday.me/bug/20191102/1994490.html