java netbeans java.lang.NullPointerException错误
我正在为我的学术目的开发一个软件。为此,我使用Netbeans IDE、sqlite。当我运行代码时,它会给我以下错误java netbeans java.lang.NullPointerException错误,java,sqlite,netbeans-8,Java,Sqlite,Netbeans 8,我正在为我的学术目的开发一个软件。为此,我使用Netbeans IDE、sqlite。当我运行代码时,它会给我以下错误 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838) at sun.misc.FloatingDecimal.parseDouble(Floa
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at ProductInfo.getProductList(ProductInfo.java:109)
at ProductInfo.Show_Products_In_JTable(ProductInfo.java:126)
at ProductInfo.<init>(ProductInfo.java:44)
at ProductInfo$12.run(ProductInfo.java:658)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
这是实体类
public class Product {
private int id;
private String name;
private double price;
private String addDate;
private byte[] picture;
public Product(int pid, String pname, double pprice, String pAddDate, byte[] pimg)
{
this.id = pid;
this.name = pname;
this.price = pprice;
this.addDate = pAddDate;
this.picture = pimg;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public double getPrice()
{
return price;
}
public String getAddDate()
{
return addDate;
}
public byte[] getImage()
{
return picture;
}
我是一个初学者,不理解错误。有人能帮我解决吗?调试NullPointerException的启发式方法几乎总是一样的:您应该仔细阅读异常的堆栈跟踪,找到出错的代码行,即引发异常的代码行,然后仔细检查该行,找出哪个变量为null,然后追溯到你的代码,看看原因。相信我,你会一次又一次地碰到这些。将来,请在发布之前搜索该主题,因为这是一个太常见的问题,无法发布另一个NPE问题。因此,您需要研究此行的变量:
ProductInfo.java:109
以查看空值,然后返回搜索以了解原因。请查看在中找到的合适答案,我猜第109行就是这一行:productList.add(product)代码>。请让我知道这是否正确。如果是这样的话,您将需要了解变量阴影和NullPointerException。另外,请阅读您提供的搜索并尝试,但仍然无法找到解决方法(@hoverfullofeels)
// Variables declaration - do not modify
private javax.swing.JTable JTable_Products;
private javax.swing.JButton btn_Image;
private javax.swing.JButton btn_delete;
private javax.swing.JButton btn_first;
private javax.swing.JButton btn_insert;
private javax.swing.JButton btn_last;
private javax.swing.JButton btn_next;
private javax.swing.JButton btn_previous;
private javax.swing.JButton btn_update;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lbl_date;
private javax.swing.JLabel lbl_id;
private javax.swing.JLabel lbl_image;
private javax.swing.JLabel lbl_img;
private javax.swing.JLabel lbl_name;
private javax.swing.JLabel lbl_price;
private datechooser.beans.DateChooserCombo txt_AddDate;
private javax.swing.JTextField txt_id;
private javax.swing.JTextField txt_name;
private javax.swing.JTextField txt_price;
// End of variables declaration
public class Product {
private int id;
private String name;
private double price;
private String addDate;
private byte[] picture;
public Product(int pid, String pname, double pprice, String pAddDate, byte[] pimg)
{
this.id = pid;
this.name = pname;
this.price = pprice;
this.addDate = pAddDate;
this.picture = pimg;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public double getPrice()
{
return price;
}
public String getAddDate()
{
return addDate;
}
public byte[] getImage()
{
return picture;
}