Не удается получить доступ к переменной внутри цикла for

#java

#java

Вопрос:

Я пытаюсь объединить строковые значения из clientGroupList, чтобы создать строковую переменную. Я не могу получить доступ к возвращаемой переменной. Я работаю над shareString_8 и shareString_9 .

 if (uib.getClientProviderType().equals(ParamConstant.CLIENT_TYPE)) {
    // ClientUserの場合の処理
    //SM4|
    String shareString_8 = shareStringList   ":SM"   Constant.SHARE_MODE_CLIENT_GROUP   "|";
    for (int idx = 0; idx < clientGroupList.size(); idx  ) {
        
        //SM4|SHARE_CLIENT_GROUP
        shareString_8 =  shareString_8   clientGroupList.get(idx);
        
    }   
    return shareString_8;
    
} else {
    // ProviderUserの場合の処理
    //SM-1|
    String shareString_9 = shareStringList   ":SM"   Constant.SHARE_MODE_PUBLISH   "|";
    for (int idx = 0; idx < entityListClientGroup.size(); idx  ) {

        //SM-1|CLIENT_GROUP_ID
        shareString_9 = shareString_9   clientGroupList.get(idx);

    }
    return shareString_9;
}

String shareString = providerId   " AND "   "("   shareString_1   " OR "   shareString_2   " OR "   shareString_3
          " OR "   shareString_4   " OR "   shareString_5   " OR "   shareString_6   " OR "   shareString_7
          " OR "   shareString_8   " OR "   shareString_9   ")";
 

Выделенный код

Комментарии:

1. Эти переменные объявлены в ветвях if и else вашего if / else соответственно. Поэтому они находятся вне области видимости за пределами этих ветвей. Объявите их вне if / else .

2. Затем я получаю эту ошибку недоступного кода.===================== Строка shareString = providerId » И » «(» shareString_1 » ИЛИ » shareString_2 » ИЛИ » shareString_3 » ИЛИ » shareString_4 » ИЛИ » shareString_5 » ИЛИ » shareString_6 » ИЛИ » shareString_7 » ИЛИ » shareString_8 » ИЛИ » shareString_9 «)»;

3. Пожалуйста, не используйте комментарии для публикации кода без контекста. Объявление переменных вне if / else является решением вашей проблемы. Если при этом вы обнаружите другую проблему, отредактируйте свой вопрос, чтобы указать новую проблему или задать новый отдельный вопрос.