这项工作需要 30 多个小时的时间。该迭代器保存 800k 条记录,并且必须为每条记录执行循环,并且在同一方法中大约有 20 多个这样的检查。我怎样才能避免这里的圈复杂度?
CustomerPreference newRecord = null;
while (iterator.hasNext())
{
final CustomerPreference current = iterator.next();
if (newRecord != null)
{
if (!newRecord.getEmail().equals(current.getEmail()))
{
resList.add(newRecord);
newRecord = current;
}
}
else
{
newRecord = current;
}
if (null != current.getEmailPref())
{
newRecord.setEmailPref(current.getHdCaEmailPref());
}
else
{
if (newRecord.getEmailPref() == null)
{
newRecord.setEmailPref(NO_CHANGE);
}
}
最佳答案
如果这只是一个内部应用程序,请取出检查并将代码包含在 try/catch block 中,特别是在空引用的可能性很小的情况下。
catch block 只会继续循环。
关于java - 对我来说,进行这些空检查并提高此代码的性能的更好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382734/