У меня нет вашего полного контекста, но все же мои несколько центов:
- Вам не требуется секунда, если l oop
if (wrapper.getAttrKey().equalsIgnoreCase("BetterID") && !StringUtils...
потому что вы просто проверяете то же условие (которое вы сделали сначала, если l oop), а затем извлекаете значение. Так что удалили этот дубликат.
List<CompareDecisionResponse> compareResponse= new
ArrayList<CompareDecisionResponse>();
for (Answer singleAnswer : answer){
String identifier = "";
String name = "";
boolean identifierFound = false;
Response fileName = new Response(); //Response is another class.
name = fileName.getFileName();
for(AttrValWrapper wrapper: singleAnswer.getAttrValContainer().getAttrValWrapper()){
if(wrapper.getAttrKey().equalsIgnoreCase("BetterID")){
wrapper.setAttrVal(name); // setting up value.
identifier = name;
identifierFound = true;
}
if (!identifierFound && wrapper.getAttrKey().equalsIgnoreCase("MemoryId")&&!StringUtils.isEmpty(wrapper.getAttrVal())){
identifier = wrapper.getAttrVal();
}
}
фиксированное имя переменной от
IdentifierFound
до
identifierFound