尝试将List <String>添加到HashMap时出现空点异常

莫达贝克汉姆

我正在尝试将字符串列表添加到HashMap中,我在下面显示了自己的尝试方式。但是我得到了空值异常(我在代码中注释了获得异常的地方)。任何人都可以发现我在犯什么错误。

     private List<Product> mCartList;
     List<String> listDataHeader;
     HashMap<String, List<String>> listDataChild;

        List<String> listdescription = new ArrayList<String>();
        List<String> listcrust = new ArrayList<String>();
        List<String> listsize = new ArrayList<String>();
        String descriptionString;
        String crustString;
        String sizeString;

        for (int i = 0; i < mCartList.size(); i++) {

            mCartList.get(i).selected = false;
            hot_number = mCartList.size();


            if (mCartList.get(i).description != null
                    && !mCartList.get(i).description.isEmpty()) {
                descriptionString = mCartList.get(i).description;

                listdescription.add(descriptionString);
                System.out.println("listdescription = " + listdescription);
            }

            if (mCartList.get(i).crust != null
                    && !mCartList.get(i).crust.isEmpty()) {
                crustString = mCartList.get(i).crust;

                listcrust.add(crustString);
                System.out.println("listcrust = " + listcrust);
            }

            if (mCartList.get(i).size != null
                    && !mCartList.get(i).size.isEmpty()) {
                sizeString = mCartList.get(i).size;

                listsize.add(sizeString);
                System.out.println("listsize = " + listsize);
            }

        }

        listDataChild.put("listcrust", listcrust); // error occurs here
        listDataChild.put("listsize", listsize);

        listDataHeader.addAll(listdescription);

        System.out.println("listDataChild = " + listDataChild);
        System.out.println("listDataHeader = " + listDataHeader);

我已经调试并获得了listsize88行的值,但是当我通过93行时,它给出了下面提到的异常。

在此处输入图片说明

异常屏幕截图

在此处输入图片说明

马克西·拉奇(Maciej Lach)

您尚未将对象分配给listDataChild成员。

看一下这些是在类级别定义的:

 private List<Product> mCartList;
 List<String> listDataHeader;
 HashMap<String, List<String>> listDataChild;

重置代码在方法内部。这是正确的吗?

默认情况下,不初始化成员并将其设置为null。如果您尝试对空引用执行操作,则该操作会失败,并显示NullPointerException。

请尝试以下方法:

HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将ObjectInputStream添加到HashMap时出现NullPointer异常

尝试将数据从sqlite添加到微调器时出现空指针异常

将元素添加到列表时出现空指针异常

尝试将新的List对象添加到预定义的List对象时出现错误

尝试将json的解析值添加到sqlite表时出现SQLite异常

尝试将Double解析为String时出现ArrayOutOfBounds异常

尝试将组件添加到选项卡时,Vaadin空指针异常

泛型:将List <String>添加到List <Object>

尝试将元素添加到 MutableList 时出现 UnsupportedOperationException

Java8 - 如何将 List<List<String>> 添加到 List<List<String>>

将List <string>添加到DropDownList的最佳实践

将项目添加到List <string>属性

将字符串添加到List <string>

以特定顺序将文件添加到List(String)

C ++ map <string,vector <pair <string,string>>>:将映射添加到空向量吗?

无法将 Dictionary<string, string> 添加到 List<Dictionary<string, string>>

我将点运算符添加到Htaccess时出现一些错误

将新对象添加到DbContext时,Entity Framework中的空引用异常

尝试将 String 转换为 java.sql.Date 时出现异常

尝试运行JFrame时出现空点异常

将结果集值添加到Hashmap Map <String,Objct>类型中

将HashMap <String,String>转换为HashMap <String,List <String >>()

为什么在从 String 列表转换为 Double 列表时将 <?> 添加到 List 声明会导致错误?

为什么在递归获取目录和文件时,仅将目录而不是文件添加到List <string>中?

尝试将All全部添加到MutableList时获得不受支持的异常

尝试将BeaconParser添加到AltBeacon库时发生异常

将字符串添加到新的List <string>(new string [] {});

如何将字符串添加到列表<String>?List<String> 是模型中的模型

尝试将联系人对象添加到自定义列表时,联系人对象上的空指针异常