【发布时间】:2015-12-06 07:03:59
【问题描述】:
我正在尝试按如下方式初始化一个 HashSet 数组,它抛出“没有找到适合 add(Integer) 的方法”,我尝试简单地添加 pre[i][0],但这也不起作用。
另外,pre 是 int[][] 类型,numCourses 是 int 类型,pre[i][j] 是 [0,numCourses-1] 的元素。
Set<?>[] adj= new HashSet<?>[numCourses];
for(int i=0; i<numCourses; ++i) adj[i]=new HashSet<Integer>();
for(int i=0; i<numCourses; ++i){
adj[pre[i][1]].add(new Integer(pre[i][0]));
}
有人可以帮助指出我可能做错了什么吗? 此外,使用通配符(即设置声明,因为它失去类型检查能力)不是最佳实践,还有更好的方法来完成上述操作吗?
【问题讨论】:
-
给出一个通用数组初始化编译错误