我想使用Integer值重载getMap
,但Map只返回一个Object。无论如何转换它?或者有类似于C ++自动说明符的东西?
public class EventMessage<T> {
private final Map<EventType, T> messageInput;
public EventMessage(EventType type, T t) {
messageInput = new HashMap<EventType, T>();
messageInput.put(type, t);
}
public Map<EventType, T> getMap(){
return messageInput;
}
public T getMap(EventType type){
return messageInput.get(type);
}
}
答案 0 :(得分:0)
默认情况下,Map和所有集合中的对象都存储在其中。如果要指定某些内容,则应使用泛型。
对于带有整数的Map的示例,您应该编写
Map<Integer, Integer> map = new HashMap<Integer,Integer>();
然后Map存储整数的键值集。如果您希望Map是Object并且只返回Integer类型,则应该将Object转换为Integer。