我想要一个方法参数来定义HashMap将接受的类。类似于以下内容:
private HashMap hashMap = new HashMap();
public boolean createMap(Object obj) {
return hashMap = new HashMap<String, obj.getClass()>() != null;
}
Run Code Online (Sandbox Code Playgroud)
您无法做您想做的事情:您不能“定义a HashMap将接受的类”,因为在运行时a HashMap将接受所有类。
另一方面,您可以做的是:
private Map<String, ?> map;
public <V> void createMap(Class<V> clazz) {
map = Collections.checkedMap(new HashMap<String, V>(),
String.class, clazz);
}
Run Code Online (Sandbox Code Playgroud)
...实际上将通过反射来强制实施您要创建的限制。在这种情况下,您的hashMap成员应具有type Map<String, Object>,尽管它将强制执行
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |