Kar*_*mar 1 java iteration refactoring
我有一个类似于下面的代码片段,
public ArrayList getReport(reportJDOList,accountType)
{
String abc = "";
for(ReportJDO reportJDO : reportJDOList)
{
if(accountType.equals("something")
abc = reportJDO.getThis();
else
abc = reportJDO.getThat();
//somecode goes here
}
returning List;
}
Run Code Online (Sandbox Code Playgroud)
正如我在迭代之前知道accountType的值,我不希望对列表中的每个条目进行此检查,因为如果一个实例的reportJDOList的大小为10000,它将导致大量检查.我们如何消除这件事?提前致谢 :)
你确实可以执行一次检查并实现2个循环:
if(accountType.equals("something") {
for(ReportJDO reportJDO : reportJDOList) {
abc = reportJDO.getThis();
}
} else {
for(ReportJDO reportJDO : reportJDOList) {
abc = reportJDO.getThat();
}
}
Run Code Online (Sandbox Code Playgroud)
显然,您可以通过任何一种方式改进您的设计