我使用以下代码将Set转换为int []
Set<Integer> common = new HashSet<Integer>();
int[] myArray = (int[]) common.toArray();
我收到了以下错误:
error: incompatible types: Object[] cannot be converted to int[]
如果不使用for循环逐个添加元素,那么进行转换最干净的方法是什么?谢谢!
答案 0 :(得分:6)
Set<Integer> common = new HashSet<>();
int[] values = Ints.toArray(common);
答案 1 :(得分:5)
您通常会这样做:
Set<Integer> common = new HashSet<Integer>();
int[] myArray = common.stream().mapToInt(Integer::intValue).toArray();
答案 2 :(得分:2)
您无法将某些内容显式地转换为数组。
这样做:
Integer[] arr = new Integer[common.size()];
Iterator<Integer> iterator = common.iterator();
int i = 0;
while (iterator.hasNext()){
arr[i++] = iterator.next();
}