Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 ArrayList#isEmpty()方法引发NullPointerException_Java_Nullpointerexception - Fatal编程技术网

Java ArrayList#isEmpty()方法引发NullPointerException

Java ArrayList#isEmpty()方法引发NullPointerException,java,nullpointerexception,Java,Nullpointerexception,我正在使用servlet创建一个购物车。我在一个.html文件中有一个表单,它将表单发送到我的servlet的post方法。以下是表格: .HTML File <form action="Sess04" method="post"> <label> Nazwa: <input type="text" name="name&qu

我正在使用servlet创建一个购物车。我在一个.html文件中有一个表单,它将表单发送到我的servlet的post方法。以下是表格:

.HTML File
    <form action="Sess04" method="post">
        <label>
            Nazwa:
            <input type="text" name="name">
        </label><br>
        <label>
            Ilość:
            <input type="number" name="quantity" min="1">
        </label><br>
        <label>
            Cena:
            <input type="number" name="price" step="0.01" min="0">
        </label><br>
        <label>
            <input type="submit" value="Dodaj do koszyka">
        </label>
    </form>
.HTML文件
纳兹瓦:

国际劳工组织主席:
欧洲标准化委员会:
下面是我的servlet(doPost方法,doGet现在为空):

HttpSession sess=request.getSession();
List itemsList=(List)sess.getAttribute(“购物车”);
如果(itemsList.isEmpty()){← 这里是NullPointException
itemsList=新的ArrayList();
}
字符串名称=request.getParameter(“名称”);
int数量=Integer.parseInt(request.getParameter(“数量”);
double price=double.parseDouble(request.getParameter(“price”));
项目=新项目(名称、数量、价格);
项目列表。添加(项目);
sess.setAttribute(“购物车”,项目列表);
对于(int i=0;i而言,问题在于:

  List<Item> itemsList = (List<Item>) sess.getAttribute("cart");
    if (itemsList.isEmpty()) {                           ← Here NullPointException
        itemsList = new ArrayList<>();
    }
List itemsList=(List)sess.getAttribute(“购物车”);
如果(itemsList.isEmpty()){← 这里是NullPointException
itemsList=新的ArrayList();
}
您不想检查列表是否为空(重新初始化空列表也没用),而是想检查itemList是否为空

 if (itemsList == null){                           
        itemsList = new ArrayList<>();
    }
if(itemsList==null){
itemsList=新的ArrayList();
}

现在,您正在对null调用isEmpty,这将导致NullPointerExcetion

如果列表不存在,则该列表不是空的。基本上,您的
isEmpty
检查应该是
null
检查。
 if (itemsList == null){                           
        itemsList = new ArrayList<>();
    }