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

时间:2016-04-23 09:36:25

标签: string java-8 character java-stream

我已阅读this相关帖子。在String操作方面,溪流似乎吸引了大量的仪式。如果要将String解析为可能需要执行某些操作的字符流,则需要先将它们转换为IntStream,映射到Object,然后转换{{1转到int,最终将char转换为char,然后将其返回。

人们说命令式的节目编程有一个仪式开销。如果我完全做错了,请纠正我。我的目的不是嘲笑,而是更好地理解Java流,因为我一般都很欣赏它们。

String

2 个答案:

答案 0 :(得分:3)

如果你可以使用Unicode代码点而不是字符,那么它比在template< > class vecarg< const float > { const ta_a& Argv; 上操作要麻烦一点:

char

不需要装箱,在收集点没有转换为字符串,并且您不太可能被输入数据中的代理对绊倒。这是一个很好的场合,它可以减少实现满足更广泛输入的东西的痛苦。

答案 1 :(得分:1)

使用Eclipse Collections,您可以补充Java标准库中缺少的部分。以下内容将使用CharAdapter,假设CryptoMath.encryptChar()返回char

String result = CharAdapter.adapt(input)
        .collectChar(Character::toUpperCase) 
        .collectChar(CryptoMath::encryptChar)
        .makeString("");

注意:我是Eclipse Collections的提交者。