我该如何表示这种通用类型

时间:2014-10-17 14:27:18

标签: java generics

如何修复泛型类型部分,让它代表Map of Long和Anything实现Collection?

Map<Long,  <T implements Collection<Long>>> moc;

这样我就可以moc = new HashMap<Long, Set<Long>>();

2 个答案:

答案 0 :(得分:1)

这个怎么样?

Map<Long, Collection<Long>> moc = new HashMap<Long, Collection<Long>>();
moc.put(new Long(1), new ArrayList<Long>()); //works
moc.put(new Long(2), new TreeSet<Long>()); //works

答案 1 :(得分:1)

如果我理解你的问题,你可以使用

Map<Long,  Collection<Long>> moc = new HashMap<>();

允许您添加Set之类的

moc.put((long) 1, new HashSet<Long>());