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

回到顶部