package com.assignment;
import java.util.ArrayList;
import java.util.HashMap;
public class Interview {
private HashMap<String,Integer> stateCounts = null;
private HashMap<String,String> stateNames;
private ArrayList<InputData> inputList = null;
public void loadStateNames(String stateKey,String stateName)
{
stateNames.put(stateKey, stateName);
}
public static void main(String Args[])
{
Interview interview = new Interview();
interview.loadStateNames("NY", "New York");
}
}当我试图将字符串传递给loadStateNames时。我得到一个空指针异常。无法找出导致此错误的原因。
Exception in thread "main" java.lang.NullPointerException
at com.assignment.Interview.loadStateNames(Interview.java:41)
at com.assignment.Interview.main(Interview.java:57)发布于 2014-01-30 18:01:25
您没有初始化它们。您应该在构造函数中这样做:
public Inteview() {
stateNames = new HashMap<>();
}此外,我怀疑您是否希望给null引用stateCounts和inputList。它们还应该在构造函数中初始化:
public Inteview() {
stateNames = new HashMap<>();
stateCounts = new HasMap<>();
inputList = new ArrayList<>();
}发布于 2014-01-30 18:00:43
您尚未初始化地图,请将其更改为:
private HashMap<String,String> stateNames = new HashMap<String,String>();发布于 2014-01-30 18:00:50
您忘记初始化您的HashMap,请更改:
private HashMap<String,String> stateNames;至:
private HashMap<String,String> stateNames = new HashMap<String,String>();https://stackoverflow.com/questions/21464067
复制相似问题