我有一个类似于下面的代码片段,
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;
}
正如我知道迭代之前accountType的值一样,我不希望对列表中的每个条目都执行此检查,因为如果实例的reportJDOList的大小为10000,它将导致大量检查。我们如何消除这种情况的发生?提前致谢 :)
最佳答案
如果要保存字符串比较,请在循环之前进行一次,并将结果存储在布尔变量中:
String abc = "";
boolean isThis = accountType.equals("something");
for(ReportJDO reportJDO : reportJDOList) {
abc = isThis ? reportJDO.getThis() : reportJDO.getThat();
//somecode goes here
}