我有一个可以包含component或component的数组列表,每个component或component都有一个我想要获取的tax字段。此方法的value.The目的是获取数组列表中所有组件和component应交的总税额。组件也可以包含composite .The问题是当组件包含component时,我的方法无法获取component中的值
ArrayList allprinceSubjects = new ArrayList();
public double calculateTaxDueByComponents(){
double totaltaxdue=0;
Iterator iterator = vassalsanddukes.iterator();
while(iterator.hasNext()){
RiruritaniaSubjects vassalandduke=(RiruritaniaSubjects) iterator.next();
totaltaxdue+=vassalandduke.getTaxDue();
vassalandduke.calculateTaxDueByComponents();
}
return totaltaxdue;
}发布于 2012-01-13 19:26:40
不确定您的业务逻辑是如何实现的,但我认为下面这一行需要更改:
vassalandduke.calculateTaxDueByComponents();将其更改为:
totaltaxdue += vassalandduke.calculateTaxDueByComponents();发布于 2012-01-13 19:24:18
问题是,当您以递归方式调用calculateTaxDueByComponents()时,您会丢弃结果:
vassalandduke.calculateTaxDueByComponents();将其更改为
totaltaxdue += vassalandduke.calculateTaxDueByComponents();发布于 2012-01-13 19:27:16
您没有将vassalandduke.calculateTaxDueByComponents();的值赋给任何东西-您最有可能将其添加到totaltaxdue,不是这样吗?
https://stackoverflow.com/questions/8849785
复制相似问题