gpt4 book ai didi

java - 空指针异常帮助

转载 作者:行者123 更新时间:2023-11-29 06:23:28 25 4
gpt4 key购买 nike

我收到一个我无法处理的 NullPointerException。我是 Java 的新手,所以我很感激任何帮助。

<%
Employee employees[] = (Employee []) request.getAttribute("arr");
Integer arr_size= (Integer) request.getAttribute("arr_size");
for(int i=0;i<employees.length;i++){ %>
<tr><td><b>.</b></td><td><%=employees[i].getName()%></td><td>
<%=employees[i].getLname()%></td><td><%=employees[i].getType()%></td><td>
<%=employees[i].getEmail()%></td><td><a href="">Edit Employee Details</a></td>
</tr>
<%}%>

arr 数组和 arr_size 是从 servlet 传递的,我的 jsp 给出了一个 NullPointerException

我尝试检查 employeesarr_size 是否为 null 但它没有改变任何东西。

谢谢。

最佳答案

即使数组本身不为空,employees[i] 也很可能为空 - 导致 NullPointerException。您可以通过跳过这些元素来避免这种情况:

for(int i=0;i<employees.length;i++) { 
if (employees[i] == null) {
continue;
}
%>

请注意,这不是非常优雅。如果您使用 Java 5 进行编译,我还建议使用增强的 for 循环,这将使代码更清晰:

<%
Employee employees[] = (Employee []) request.getAttribute("arr");
for (Employee employee : employees) {
if (employee == null) {
continue;
} %>
<tr><td><b>.</b></td><td><%=employee.getName()%></td><td>
<%=employee.getLname()%></td><td><%=employee.getType()%></td><td>
<%=employee.getEmail()%></td><td><a href="">Edit Employee Details</a></td>
</tr>
<%}%>

请注意,我忽略了 arr_size,因为您似乎没有使用它。它的意思是什么?

最后,如果可能的话,我建议将逻辑移到 JSP 之外......

关于java - 空指针异常帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com