Вывод более глубоких элементов в ArrayList

243
17 августа 2017, 20:48

Как получить(либо вывести в консоль) более глубокое значение ArrayList, например значение testVal из ArrayList-a parserJson, если он всегда имеет динамическую вложенность. Немного запутался во вложенности(скинул всё в один метод для упрощения восприятия). Заранее спасибо за любую помощь!

public void showList(ArrayList<JSONValue> parserJson) {
    boolean inQuotes = false;
    JSONValue testVal = new JSONValue(true);
    JSONObjectElement element = new JSONObjectElement("test", testVal);
    parserJson.add(new JSONValue(inQuotes));
    parserJson.add(new JSONValue(new JSONObject(element)));
    for (int index = 0; index < parserJson.size(); index++) {
        System.out.println(parserJson.get(index).getValues());
    }
}

Метод возвращающий значение:

public String getValues() {
    return value;
}
Answer 1

Предлагаю вам создать метод, который будет проверять добрались ли вы до конечного значения. Что-то типо этого:

public boolean isEnd() {
    if (value instanceof String)
        return true;
    else
        return false;
}

Вместо стринг можете подставить свой конечный тип, если он есть, либо проверять "не принадлежность" к типам JSONValue и JSONObject.

Потом в цикле написать так

for (int index = 0; index < parserJson.size(); index++) {
        JSONValue value = parserJson.get(index).getValues();
        while(!value.isEnd()){
           value = value.getValues();
        }
        System.out.println(parserJson.get(index).getValues());
    }
READ ALSO
Алгоритм аутентификации на Rx

Алгоритм аутентификации на Rx

ЗдравствуйтеЕсть следующий код:

192
StackTrace - описание с примерами для новичка в Java

StackTrace - описание с примерами для новичка в Java

Пытаюсь постичь основы джавы, используя javarush, гугл, ютуб и прочие инструментыДошел до темы StackTrace и подзавис

298
Spring Security не авторизовывает

Spring Security не авторизовывает

Имеется некоторый проект на котором Spring Security получает форму логина (вообще вся рега скомуниздена от сюда ) До какого то момента все прекрасно...

212
Использование package в Java

Использование package в Java

Не могу понять, что делаю не такЕсть следующий код:

212