История изменений
Исправление 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 - что на больших документах даст заметную экономию.