java ArrayList 中的空指针异常

Null pointer exception in java ArrayList

我刚刚开始 java 编程。我在数组列表中遇到空指针异常问题 我的代码如下

ArrayList<Arpaymentitem> arpaymentitemsList= jb.getArpaymentitems();
arpaymentitemsList.removeAll(Collections.singleton(null));

            try {
                for(Arpaymentitem arpaymentitem:arpaymentitemsList)
                {

                    if (arpaymentitem.getInvoicekey()!=null) {
                        statement2.setString(1,arpaymentitem.getInvoicekey());
                    }
                    if(arpaymentitem.getInvoicekey() != null)
                        {
                        statement2.setString(2,arpaymentitem.getAmount());
                        }
                        }
                    statement2.addBatch();
                }
             catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

我在 FOR 语句中遇到空指针异常错误。我确定列表中有一些空值。为了忽略空值,我引入了一个步骤

ArrayList<Arpaymentitem> arpaymentitemsList= jb.getArpaymentitems();
arpaymentitemsList.removeAll(Collections.singleton(null)); --> remove nulls

我得到的NPE是 java.lang.NullPointerException 在 payment.Intacct_Payment.main(Intacct_Payment.java:169) 并且该行是 for(支付项目arpaymentitem:arpaymentitemsList)

问题依然存在。我在这里做错了什么。

您能否尝试以下步骤并提供反馈

ArrayList<Arpaymentitem> arpaymentitemsList = new ArrayList<>();
if (jb.getArpaymentitems().size()> 0)
{
        for (Arpaymentitem arpaymentitem : jb.getArpaymentitems()) 
        {
              System.out.println("Description: ...");
              arpaymentitemsList.add(arpaymentitem)
        }
}
//The Rest of the code