Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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初始化一个映射列表,但无论如何我';我试过初始化它为空_Java - Fatal编程技术网

我需要用java初始化一个映射列表,但无论如何我';我试过初始化它为空

我需要用java初始化一个映射列表,但无论如何我';我试过初始化它为空,java,Java,所以我试图初始化一个映射列表,但每次我初始化它时,它都初始化为null 所以我尝试过谷歌搜索和堆栈溢出,也有一些类似的帖子,但没有明确的像这样。我只是想知道如何初始化它,使它不为null,以便我可以在代码的后面添加它 List<Map<String, Response>> listOfResponses = new ArrayList<Map<String, Response>>(); 您的问题是,您正在重用同一映射,并且仅将该映射添加到响应中,

所以我试图初始化一个映射列表,但每次我初始化它时,它都初始化为null

所以我尝试过谷歌搜索和堆栈溢出,也有一些类似的帖子,但没有明确的像这样。我只是想知道如何初始化它,使它不为null,以便我可以在代码的后面添加它

List<Map<String, Response>> listOfResponses = new ArrayList<Map<String, Response>>();

您的问题是,您正在重用同一映射,并且仅将该映射添加到响应中,并且只有在没有空问题的情况下,才会中止该方法,而根本不使用/保存
thisResponse

您的代码应该更像:

for (Question q : questions) {
    if (q == null) {
        continue;  // ignore nulls
    }
    HashMap<String, Response> thisResponse = new HashMap<>();
    listOfResponses.add(thisResponse);
    // populate thisResponse
}
for(问题q:问题){
if(q==null){
continue;//忽略空值
}
HashMap thisResponse=新的HashMap();
响应列表。添加(此响应);
//填充此响应
}

请说明您如何尝试将元素添加到该列表中。初始化后,您如何尝试使用
响应列表
?这对我来说似乎很好,您可以像
List of responses=new ArrayList()这样做。如果您已经执行了帖子中提到的代码,列表不应该初始化为null,它应该是一个空列表。您在哪里向列表添加任何内容?要获得您提到的null错误,您需要将null添加到列表中,因为否则您将获得一个数组索引越界异常。请在问题中添加“不起作用”的代码。看,换句话说,这是一个重复的。。。而且imho应该这样关闭。@波希米亚人在OP的代码片段中有很多变量是未知的,比如
mi
q
mo
。那么你是如何分析它们的呢?可能其中一个是
null
。对,这完全是对null指针的误解,而不是关于如何初始化和添加到映射列表的问题…因为不理解为什么int x;是null,并且不理解当初始化为哈希映射时映射列表为何为null是相同的:)。Mo和Mi只是MyOutput和MyInput,它们只是自定义类,以避免System.out.println(字符串)反复出现,因为这是一个软件设计项目,“用户”的参数总是在更改。所以MyO和MyI将来可能需要实现映像选项。@user11502261请停止。你只是增加了混乱。阅读关于“NPE和如何修复它”的链接。慢慢来。你可能需要几个小时的学习才能完成这一切。然后,如果您仍然无法在代码方面取得进展,请显示一个真实的示例。如前所述:到目前为止,您提出的内容不足以给您一个合理的答案(除了猜测:这个或那个是空的)。
in thread "main" java.lang.NullPointerException
    at com.company.Survey.TakeSurvey(Survey.java:304)
    at com.company.Menu.SurveyMenu(Menu.java:129)
    at com.company.Menu.SurveyMenu(Menu.java:78)
    at com.company.Menu.StartMenu(Menu.java:24)
    at com.company.Main.main(Main.java:21)
for (Question q : questions) {
    if (q == null) {
        continue;  // ignore nulls
    }
    HashMap<String, Response> thisResponse = new HashMap<>();
    listOfResponses.add(thisResponse);
    // populate thisResponse
}