Java空指针异常
我遇到了一个空指针异常问题,但我无法找出问题所在。 以下是我在doPost中的代码:Java空指针异常,java,nullpointerexception,Java,Nullpointerexception,我遇到了一个空指针异常问题,但我无法找出问题所在。 以下是我在doPost中的代码: HttpSession session = request.getSession(); session.setAttribute("product", product); url = "/login.jsp"; // create product list and store it in the session String path = getServletContext().getRealPath("/
HttpSession session = request.getSession();
session.setAttribute("product", product);
url = "/login.jsp";
// create product list and store it in the session
String path = getServletContext().getRealPath("/WEB-INF/products.txt");
ArrayList<Product> products = ProductIO.selectProducts(path);
session.setAttribute("products", products);
// forward request and response objects to specified URL
getServletContext().getRequestDispatcher(url).forward(request, response);
抛出NullPointerException的具体行是什么?因为
arraylistproducts=ProductIO.selectProducts(path)中没有错误代码>
尝试更改products=newarraylist()
toArrayList products=new ArrayList()代码>引发NullPointerException的特定行是什么?因为arraylistproducts=ProductIO.selectProducts(path)中没有错误代码>
尝试更改products=newarraylist()
toArrayList products=new ArrayList()
您希望返回ArrasyList
,并在ProductIO
类中将其声明为私有变量
删除私有静态ArrayList products=null代码>
在方法中初始化并构建这个新的,然后返回
ArrayList products=new ArrayList()代码>
编辑:
从上述评论/讨论来看,此答案与问题/议题不再相关
更新
基于提交的另一个答案中的用户讨论
String priceAsString = t.nextToken();
double price = 0.0;
//Check for null
if(priceAsString != null && !priceAsString .isEmpty())
{
price = Double.parseDouble(priceAsString);
}
您希望返回ArrasyList
,并在ProductIO
类中将其声明为私有变量
删除私有静态ArrayList products=null代码>
在方法中初始化并构建这个新的,然后返回
ArrayList products=new ArrayList()代码>
编辑:
从上述评论/讨论来看,此答案与问题/议题不再相关
更新
基于提交的另一个答案中的用户讨论
String priceAsString = t.nextToken();
double price = 0.0;
//Check for null
if(priceAsString != null && !priceAsString .isEmpty())
{
price = Double.parseDouble(priceAsString);
}
在您的异常catch
block中,如果ureturn products
而不是null,会发生什么情况?@搜索时,仍然有相同的问题在您的异常catch
block中,如果ureturn products
而不是null,会发生什么情况?@搜索时,仍然有相同的问题raylist products=ProductIO。选择products(路径);是导致异常的行。也可能是我代码的另一部分导致了这种情况?是的@Glitteropia,试着改变我说的…也许你的静态字段在代码的其他部分被设置为null…好的,所以我试过了,它也不起作用,所以我试着注释了整个部分,但它仍然不起作用。我在sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)的java.lang.Double.parseDouble(Double.java:538)的java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)中复制并粘贴了错误在javax.servlet.http.HttpServlet.service(HttpServlet.java:648)的murach.business.ProductManagementServlet.doPost(ProductManagementServlet.java:140)中,ProductManagementServlet第140行发生此错误。您正在将一个null
字符串传递给Double.valueOf(字符串)。能否编辑您的帖子并向我们显示该类的第140行?ArrayList products=ProductIO.selectProducts(path);是导致异常的行。也可能是我代码的另一部分导致了这种情况?是的@Glitteropia,试着改变我说的…也许你的静态字段在代码的其他部分被设置为null…好的,所以我试过了,它也不起作用,所以我试着注释了整个部分,但它仍然不起作用。我在sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)的java.lang.Double.parseDouble(Double.java:538)的java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)中复制并粘贴了错误在javax.servlet.http.HttpServlet.service(HttpServlet.java:648)的murach.business.ProductManagementServlet.doPost(ProductManagementServlet.java:140)中,ProductManagementServlet第140行发生此错误。您正在将null
字符串传递给Double.valueOf(String)。能否编辑您的帖子并向我们显示该类的第140行?
String priceAsString = t.nextToken();
double price = 0.0;
//Check for null
if(priceAsString != null && !priceAsString .isEmpty())
{
price = Double.parseDouble(priceAsString);
}