super3_2_4 2020-11-01 23:12 采纳率: 0%
浏览 30

set<E>中的<T> [T] toArray(T[] a)返回的应该是T[]类型与E无关,为啥定义的时候将Set<E>改成Set会报错?

代码如下:

Map<Integer,Integer> map=new HashMap<>();
....
Set set=map.keySet();
int[] arr=set.toArray(new Integer[0]);

报错
图片说明

如果将

Set set=map.keySet()

改为

Set<Integer> set=map.keySet()

就不会报错?
为啥?

  • 写回答

1条回答 默认 最新

  • open_yu 2020-11-02 09:01
    关注

    泛型在使用时必须明确使用的类型

    评论

报告相同问题?