-3

当我尝试填充地图时,我无法弄清楚为什么 Java 会给我一个 NullPointerException。

public class ResultsClass extends Class2 {

    private Map<String,Object> result_map;

    public ResultsClass(Object o){
        this.results = o;
        System.out.println(this.results.somemethod().isEmpty());
        fill_results();
    }

    private void fill_results(){
        System.out.println(this.results.somemethod.isEmpty());
        result_map.put("ID",this.results.somemethod()); 
    }

    public static void main(String[] args) throws Exception{
        ResultsClass results = new ResultsClass(Object);
    }
}

两个打印语句都说错了。

我想我只是用错了地图。我虽然 .put 输入了一个关键值。我认为我将其声明为 <"string",Object> 允许我混合和匹配将放入地图的值。即使我这样做:

result_map.put("id","value")

我得到同样的例外。我应该使用另一种类型的地图,它可以有不同的键值类型吗?

编辑:

哇你们太狠了 我不知道必须将地图声明为这样的类。我是新来的,我没有想到。感谢您的快速回答!

4

2 回答 2

4

您需要实例化(“创建”)地图 - 例如:

private Map<String, Object> result_map = new HashMap<String, Object> ();

在你这样做之前,result_map它是 null (不引用有效对象)并且不能使用。

于 2013-01-10T22:56:39.937 回答
1

您没有创建地图;因此你不能使用 result_map 因为它是空的。

于 2013-01-10T23:00:34.903 回答