Streamを使ったら1行なんだが?

"こんにちわ".chars().collect(ArrayDeque<Integer>::new, ArrayDeque::addFirst, ArrayDeque::addAll).stream().map(c -> Character.toString((char)c.intValue())).collect(Collectors.joining());