Я думаю, ваш код не является вложенным loop больше 3, более 3 вложенных , если .
Возможно, вы можете улучшить свой метод getIds (), который никогда не возвращает ноль, поэтому по какой-то причине метод не должен возвращать ноль. Если значение должно быть нулевым, тогда вы можете использовать return или break для завершения программы, например:
if(list == null)
return;
Наконец, вы можете попробовать троичный оператор, чтобы убедиться, что значения str1 и str2.
String str1 = StringUtils.isBlank(someObject.getStr()) ? NA : someObject.getStr();
String str2 = StringUtils.isBlank(someObject.getString()) ? NA : someObject.getString();