LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

бритвой оккама, у тебя банальный цикл, который даже не нужен если childCount == 1, а ты еще суешь if унутыль лямбды, прямо мастер обфускации.

Стримы худо-бедно имеет смысл юзать когда у тебя удобно использовать ссылки функции:

return
            IntStream
                .range(0, childCount)
                .mapToObj(childs::item))
                .map(this::getTextFromNode)   
                .collect(Collectors.joining(" "));

но тогда надо вынести if, а если просто использовать for(int i = 0; ... - то оно будет еще и понятнее, и со временем ты дойдешь до мысли, что можно использовать StringBuilder предавая его в getTextFromNode - что на больших документах даст заметную экономию. Ну и потом может потребуется скипать пустые строки и т.п.

Исходная версия Deleted, :

бритвой оккама, у тебя банальный цикл, который даже не нужен если childCount == 1, а ты еще суешь if унутыль лямбды, прямо мастер обфускации.

Стримы худо-бедно имеет смысл юзать когда у тебя удобно использовать ссылки функции:

return
            IntStream
                .range(0, childCount)
                .mapToObj(childs::item))
                .map(this::getTextFromNode)   
                .collect(Collectors.joining(" "));

но тогда надо вынести if, а если просто использовать for(int i = 0; ... - то оно будет еще и понятнее, и со временем ты дойдешь до мысли, что можно использовать StringBuilder предавая его в getTextFromNode - что на больших документах даст заметную экономию.