学习如何使用Java 8 Stream API和StringUtils类反转Java字符串中的单词,这样每个单词的顺序保持不变,只是单词中的字符就地反转。
原始字符串 – “Hello world”
反转单词 – “olleH dlrow”
1. 使用Stream和StringBuilder
反转每个单词的算法很简单:
• 使用String.split()方法对字符串进行标记化。
• 使用Stream循环遍历字符串数组,使用StringBuilder.reverse()方法反转每个单词。
• 通过连接Stream元素来连接所有反转的单词。
String input = "Hello world";
String reversed = Arrays.stream(input.split(" "))
.map(word -> new StringBuilder(word).reverse())
.collect(Collectors.joining(" "));
System.out.println(reversed);
程序输出
olleH dlrow
2. 使用StringUtils
StringUtils类来自Apache命令lang3库。其reverseDelimited() API反转每个单词并用一样的分隔符连接回字符串。在我们的例子中,我们将使用空格字符作为分隔符。
String input = "Hello world";
String reversed = StringUtils.reverseDelimited(StringUtils.reverse(input), ' ');
System.out.println(reversed);
程序输出
olleH dlrow
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...


