Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自非null值的Java NullException_Java_Exception_Maps - Fatal编程技术网

来自非null值的Java NullException

来自非null值的Java NullException,java,exception,maps,Java,Exception,Maps,当我试图填充映射时,我不明白为什么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.somemeth

当我试图填充映射时,我不明白为什么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);
    }
}
我也有同样的例外。是否有其他类型的映射我应该使用,可以有不同的键值类型

编辑:

哇,你们太苛刻了。我不知道maps必须声明为这样的类。我是新来的,我没有想到。谢谢你的快速回答

您需要实例化(“创建”)映射-例如:

private Map<String, Object> result_map = new HashMap<String, Object> ();
private-Map-result\u-Map=new-HashMap();

在执行此操作之前,
result\u map
为空(不引用有效对象),无法使用。

您没有创建映射;因此,您不能使用结果映射,因为它为空。

您尚未使用new关键字初始化映射。您需要了解如何调试NullPointerException。您应该检查抛出NPE的行上的每个变量,以查看哪个变量为空。如果您这样做了,那么您就知道您的Map变量为null,您就不必在这里提问了。这是一个重要的概念,如果你想进步,你必须学习它,它比你问题的细节更重要。哦,谢谢,我不是想学习,我只是逐行输入每一段代码并发布在这里。我喜欢被人轻视,所以这对我来说是最好的情况。对不起。我不是有意贬低,甚至不是故意显得贬低。我想传达的唯一一点是,解决NPE的过程是这里的关键,这个过程比解决您当前问题的方法重要得多,因为一旦学会了,大多数NPE解决方案对您来说几乎是微不足道的。我刚开始使用Java,这是我第一次使用map。我有一些以前从未见过的代码,我甚至不是一个计算机程序员。但我必须完成这件事。我试着输出我认为NULL的东西,但我甚至没有考虑过地图本身,因为我没有意识到它是非原始类型。
private Map<String, Object> result_map = new HashMap<String, Object> ();