Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Java 添加到HashMap会产生NullPointerException_Java_Hashmap - Fatal编程技术网

Java 添加到HashMap会产生NullPointerException

Java 添加到HashMap会产生NullPointerException,java,hashmap,Java,Hashmap,所以我必须在Java中使用HashMap,我需要用随机选取的ArrayList中的一些值填充它 我正确地填充了ArrayList,我得到的代码是一个随机数,n小于ArrayList的大小,我使用该随机值访问ArrayList中的一个点,并将其存储到HashMap中。下面是我要添加到HashMap的代码,如上所述 hash.put(index, strArr.get(n)); 其中hash是HashMap的名称,index只是一个int值,strArr是我从中获取项的字符串的ArrayList,

所以我必须在Java中使用HashMap,我需要用随机选取的ArrayList中的一些值填充它

我正确地填充了ArrayList,我得到的代码是一个随机数,n小于ArrayList的大小,我使用该随机值访问ArrayList中的一个点,并将其存储到HashMap中。下面是我要添加到HashMap的代码,如上所述

hash.put(index, strArr.get(n));
其中hash是HashMap的名称,index只是一个int值,strArr是我从中获取项的字符串的ArrayList,n是一个随机数

这给了我一个NullPointerException,我和我的三个CS朋友都不明白为什么。请帮忙,我们非常感谢您朝着正确的方向迈出的任何一步


这只是因为我没有初始化HashMap。很抱歉把网站弄得乱七八糟,我刚在本周早些时候开始学习HashMaps.:)

NullPointerException表示您试图对未初始化的对象进行操作。 以下是可能性:

  • 哈希值为空
  • strArr为空
  • n>=strArr大小

    调试你的代码,看看什么是空的,什么应该被初始化

  • NullPointerException表示您正在尝试对未初始化的对象进行操作。 以下是可能性:

  • 哈希值为空
  • strArr为空
  • n>=strArr大小

    调试你的代码,看看什么是空的,什么应该被初始化

  • 您是否初始化了
    ArrayList
    类的对象或
    HashMap
    类的对象

     HashMap<Integer,ArrayList<Integer>> hash = new HashMap<Integer,ArrayList<Integer>>();
     ArrayList<Integer> array= new ArrayList<Integer>();
     array.add(30);
     hash.put(1, array);
    
    HashMap hash=newhashmap();
    ArrayList数组=新的ArrayList();
    数组。添加(30);
    hash.put(1,数组);
    
    您是否初始化了
    ArrayList
    类的对象或
    HashMap
    类的对象

     HashMap<Integer,ArrayList<Integer>> hash = new HashMap<Integer,ArrayList<Integer>>();
     ArrayList<Integer> array= new ArrayList<Integer>();
     array.add(30);
     hash.put(1, array);
    
    HashMap hash=newhashmap();
    ArrayList数组=新的ArrayList();
    数组。添加(30);
    hash.put(1,数组);
    
    第1点:您尚未初始化hashmap

    如果您还没有初始化hashmap并尝试将元素放入hashmap中,那么肯定会得到NPE

    第2点:您的strArr为空

    同样,如果您的
    strArr
    null
    并且您试图访问Nth位置的元素,那么您肯定会获得NPE

    下面的代码可能对您有所帮助

    Map<Integer,String> hashMap = new HashMap<Integer, String>();
    
    List<String> strList = new ArrayList<String>();
    
    strList.add("Apple");
    strList.add("Mango");
    
    for(int i=0;i<strList.size();i++)
     {
       hashMap.put(i, strList.get(i));
     }
    
    Map hashMap=new hashMap();
    List strList=new ArrayList();
    strList.add(“苹果”);
    strList.add(“芒果”);
    对于(int i=0;i
    第1点:您尚未初始化hashmap

    如果您还没有初始化hashmap并尝试将元素放入hashmap中,那么肯定会得到NPE

    第2点:您的strArr为空

    同样,如果您的
    strArr
    null
    并且您试图访问Nth位置的元素,那么您肯定会获得NPE

    下面的代码可能对您有所帮助

    Map<Integer,String> hashMap = new HashMap<Integer, String>();
    
    List<String> strList = new ArrayList<String>();
    
    strList.add("Apple");
    strList.add("Mango");
    
    for(int i=0;i<strList.size();i++)
     {
       hashMap.put(i, strList.get(i));
     }
    
    Map hashMap=new hashMap();
    List strList=new ArrayList();
    strList.add(“苹果”);
    strList.add(“芒果”);
    
    对于(inti=0;iw/o)代码,我最好的猜测是您尚未初始化hashmap:)或者strArr可以为空。您能在此处添加一些代码吗?请共享该类的全部代码。请访问stackoverflow。请接受您认为合适的答案,您将获得声誉点数,以及回答者。如果您看到更多代码,我的最佳猜测是您尚未初始化哈希映射:)或者strArr可以为null。您能在这里添加一些代码吗?请共享类的全部代码请访问stackoverflow。请接受您认为合适的答案,您将获得声誉点数以及回答者。(3)将导致IndexOutOfBoundsException(非NullPointerException)-(3)将导致IndexOutOfBoundsException(非NullPointerException)-。