【问题标题】:Can I use String::valueOf when joining a Set of Longs in Java 8?在 Java 8 中加入一组 Long 时可以使用 String::valueOf 吗?
【发布时间】:2022-11-12 04:52:30
【问题描述】:

我正在使用 Java 10。我有一个 java.util.Set 的 Longs。我想在我的集合中形成一个逗号分隔的单个字符串,所以我尝试了

String concatenatedStr = setOfLongs.stream().mapToLong(String::valueOf).collect(Collectors.joining(","));

遗憾的是,这引发了一些编译错误,包括“String 类型的 valueOf(Object) 类型是 String,这与描述符的返回类型不兼容:long”。

从我的 Set of Longs 中获取串联字符串的正确方法是什么?

【问题讨论】:

    标签: java set java-stream concatenation


    【解决方案1】:

    mapToLong() - 用于从对象流中生成 LongStream。但这不是您需要的转变。

    您需要应用map() 操作,而不是mapToLong()

    String concatenatedStr = setOfLongs.stream()
        .map(String::valueOf)
        .collect(Collectors.joining(","));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多