Java 8流:将IntStream转换为String
在Java 8流API中,调用chars()
任何String
对象都会返回一个IntStream
包含所有字符的对象。
将返回的IntStream
对象转换回a
的正确方法是String
什么?调用toArray()
会给我一个int[]
,任何String
构造函数都不接受。
回答:
您可以使用toArray()
,然后使用String(int[], int,
int)构造函数。正如chars()
返回UTF-16代码单元所指定的那样,这并不完全令人满意,基本上是:
返回此序列的int零扩展char值的流。映射到代理代码点的任何字符都将通过未解释传递。
使用codePoints()
反而会更加保持与此构造,其预计的代码点,而不是UTF-16代码单元。否则(带有chars
),如果您的原始字符串
确实 包含代理对,则您可能会发现错误-我没有尝试过,但这是有道理的。
我不知道没有先转换为数组的简单方法。
以上是 Java 8流:将IntStream转换为String 的全部内容, 来源链接: utcz.com/qa/432056.html