установка значения для использования в качестве идентификатора - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь установить для BetterID значение имени файла. Затем на следующем этапе, используя его в качестве идентификатора. нужна помощь в создании этого логика c, чтобы сделать его немного лучше.

 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. 
                }

                    if (wrapper.getAttrKey().equalsIgnoreCase("BetterID") && !StringUtils.isEmpty(wrapper.getAttrVal())){
                        identifier = wrapper.getAttrVal();
                        IdentifierFound = true;
                    }else if (!IdentifierFound && wrapper.getAttrKey().equalsIgnoreCase("MemoryId")&&!StringUtils.isEmpty(wrapper.getAttrVal())){
                        identifier = wrapper.getAttrVal();
                    }
                }
            }

Заранее спасибо.

1 Ответ

0 голосов
/ 14 апреля 2020

У меня нет вашего полного контекста, но все же мои несколько центов:

  1. Вам не требуется секунда, если 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...