我想实现这样一个地图,
Map<Class<T>, T> m;
其中,给定 T 的类,我可以获得类型 T 的泛型对象。
我知道你可能会说,你可以包装一个Map<String, Object>
并使用铸造来存档它。
我知道这个。
但想象一下地图是Map<Class<T>, Collection<T>>
,其中,价值是一个非常大的集合。
我不想遍历集合并转换每个对象,因为集合太大。
所以?我该怎么办?
Guava https://code.google.com/p/guava-libraries/有类似的东西,它叫做类到实例映射 http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ClassToInstanceMap.html.
您可以阅读更多相关内容在专门的 Wiki 部分 http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained#ClassToInstanceMap.
但显然你需要的是ClassToInstanceMultimap
。目前还没有,但您可以提出功能请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)