2016-05-13 84 views
-1

我列表中包含一些零和非零条目的数据。现在我想从entries列表中筛选出非零的条目。为此我创建了名为nonZeroEntries的其他列表。无法将某个列表的某个元素复制到其他元素

private List<FinancialReport> entries; 
private List<FinancialReport> nonZeroEntries; 

entries = this.financialReportDao.getAllLedger(ledgerName); 
// now entries list have 26 entries with zero and nonzero. 

for (int i = 0; i < entries.size(); i++) { 
      FinancialReport entry = this.entries.get(i); 
      if((entry.getCredit()!=entry.getDebit())) 
      { 
      nonZeroEntries.add(entry); 
      // it shows error here. 
      } 
     } 
} 
+0

什么问题? – Areca

+2

哎呀,我不知道,也许是NPE –

+1

你得到了什么错误?你说你想过滤掉非零的条目,但在'如果'你正在检查借记!=信用。对我来说没有多大意义? – Helios

回答

3

当你有

private List<FinancialReport> nonZeroEntries=null; 

不能添加的东西给它。因此,你需要

private List<FinancialReport> nonZeroEntries=new ArrayList<FinancialReport>(); 

此外,它会更容易理解为

if(entry.getCredit() != entry.getDebit()) 
+0

我试着私人列表 nonZeroEntries;也。但没有工作 –

+0

@PritamTiwari你听说过一个叫做_constructor_的东西吗? –

+0

@PritamTiwari您需要实例化nonZeroEntries。查看更新的答案 –

1

请检查你的代码中,变量nonZeroEntries为null,元素之前添加到它,你应该这样做:

nonZeroEntries = new ArrayList<FinancialReport>(); 
相关问题