Java 8流是否只是不打算与字符和字符串一起使用?

AdHominem

我已经读过这篇相关的文章。当涉及String操作时,流似乎吸引了大量的仪式。如果您想将String解析为字符流,可能需要对其进行一些操作,则需要IntStream先将它们转换为,映射为Object,然后转换intchar,最后转换charString,然后返回它。

人们说命令式编程会给仪式带来开销。如果我完全做错了,请纠正我。我的目的不是模拟,而是要更好地理解Java流,因为我通常对此表示赞赏。

// Simple method which encrypts all chars in a string
String input = "Hel!lo";

String result = input.chars()                               // Need to convert into an IntStream
        .mapToObj(e -> Character.toUpperCase((char) e))     // Need to map to Object (!) and then cast to char
        .map(CryptoMath::encryptChar)                       // Calling the encryption
        .map(String::valueOf)                               // Need to cast to String again...
        .collect(joining(""));                              // Finally done

System.out.println(result);
russw_uk

如果您可以使用Unicode代码点而不是字符进行操作,则它会比在以下位置上进行操作更为麻烦char

String input = "Hel!lo";

String result = input.codePoints()
                     .map( Character::toUpperCase )
                     .collect( StringBuilder::new,
                               StringBuilder::appendCodePoint,
                               StringBuilder::append )
                     .toString();

System.out.println(result);

无需装箱,在收集时无需转换为字符串,并且输入数据中的代理对使您不太可能被绊倒。实施一些可以满足更多输入需求的事情时,工作就轻松了一些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何返回从Java流只是一个字符串

使用Java 8流的字符串数组的长度总和

与Java一起在布局xml中使用字符串资源

在Java中,可以将负数与子字符串一起使用吗?

与包含%的字符串一起使用时,Java URLDecoder引发异常

创建使用Java 8流API字符串和排序列表中的地图

如何使用Java 8流考虑分割字符串的第一个标记

使用Java 8流生成一个N个字符长的伪字符串

Java的8/9:能在一个字符串的字符被映射到其索引(使用流)?

Java:如何使用循环创建字符串而不打印?

java的chars()流如何与reduce一起工作?它使用字符编码吗?

变换一个List <对象>的地图<字符串,整数>使得字符串不是使用Java 8流重复值

Java 8流字符串的映射调用与合并为一个字符串

Java8流列表<地图<字符串,对象>> groupingBy和计数值

Java 8流分组按字符串值

字符串数组上的Java 8流

使用Switch和Java字符串

Java的8流,对象的转换列表地图<字符串,将<字符串>>

收集列表<对象>地图<字符串,列表<对象>>中的Java 8中使用流

如何使用Java 8流将字符串数组转换为Big-integer数组

使用Java 8流将位字符串转换为枚举数组

使用Java 8流(lambda)将空间拆分为字符串

Java 8:从字符串中删除空格和重复的字符不适用于流API

使用Java流对concat字符串执行算术运算

使用Java流更新字符串数组

使用流(Java)获取整数形式的字符串

为什么法语字符不能与Java一起使用utf-8?

在流的Java分割字符串

Java流修改字符串