编程语言
首页 > 编程语言> > java-类型安全性:未经检查的强制转换和泛型

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