当前位置: 首页 > 面试题库 >

Java 8流:将IntStream转换为String

祁宝
2023-03-14
问题内容

在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),如果您的原始字符串
确实 包含代理对,则您可能会发现错误-我没有尝试过,但这是有道理的。

我不知道没有先转换为数组的简单方法。



 类似资料:
  • 我正在查看的文档,我看到了方法,但无法直接转到 是否有方法将转换为?

  • 我有一个,并希望该流的每个元素都进行一些计算并将它们返回为,其中键是int值,值是该计算的结果。我写了以下一段代码: 其中,计算第m个(整数a)。我发现下一个编译器错误 我做错了什么?

  • 问题内容: 我正在尝试使用实例化对象流: 但是它说它不能转换成。 问题答案: 本类的方法映射s到更多的S,用(到),而不是对象。 通常,所有流的方法都将流的类型映射到自身,并映射到不同的类型。 尝试使用该方法,该方法改为使用(反对)。

  • 我试图使用一个来实例化一个对象流: 但是它说它不能将转换为。

  • 使用以下代码,我得到以下编译错误。我还尝试使用输入作为整数列表,而不是int[],这样做效果很好。如果我使用box(),它也可以正常工作。 我的问题真的是如果Int Stream必须是整数流,以及如何处理错误消息“lambda表达式int[]中的错误返回类型无法转换为int” 错误:(13,49)java:不兼容的类型: lambda表达式int[]中的错误返回类型无法转换为int错误:(13,6

  • 作为练习,我将一些旧代码转换为函数流。我对溪流了解不多。看起来转换这段代码应该很简单,但我运气不太好。该方法从给定的整数开始,将其传递给isPrime,如果它是prime,isPrime将返回true。然后将要打印的新(下一个)素数交给用户。如果isPrime为false,则i递增,我们检查下一个整数。