【问题标题】:How to convert Object to Int如何将 Object 转换为 Int
【发布时间】:2016-08-05 07:11:14
【问题描述】:

我想用整数值重载getMap,但映射只返回一个对象。反正有转换吗?或者有什么类似于 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);
    }
}

【问题讨论】:

  • 在您的代码中创建EventMessage&lt;Integer&gt; 并使用整数。
  • getMap 返回一个T,如果你想让它返回Integer,你应该实例化一个EventMessage&lt;Integer&gt;

标签: java generics hashmap type-conversion


【解决方案1】:

默认情况下,Map 和所有 Collections 都在其中存储对象。如果你想指定一些东西,你应该使用泛型。 例如,对于带有整数的地图,您应该编写 Map&lt;Integer, Integer&gt; map = new HashMap&lt;Integer,Integer&gt;(); 然后 Map 存储一组 Integers 的键值对。如果您希望您的 Map 是 Object 并且只返回一个 Integer 类型,您应该将 Object 转换为 Integer。

【讨论】:

    猜你喜欢
    • 2020-07-03
    • 2022-12-19
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多