【问题标题】:Is there any replacement or alternative way for using scala.collection.TraversableOnce.mkString() method in java 7在 java 7 中使用 scala.collection.TraversableOnce.mkString() 方法是否有任何替代或替代方法
【发布时间】:2017-05-26 12:38:47
【问题描述】:

我能够在 scala 中成功使用 mkString 方法。但是在尝试使用 java 时,java7 不存在 mkString 方法。那么有什么方法可以让我在java中做同样的事情。

以下是我的参考代码:

val records: util.List[Tuple2[Void, Array[AnyRef]]] = dataSource.collect
    import scala.collection.JavaConversions._
    for (record <- records) {
      println(record.f1.mkString(","))
    }

【问题讨论】:

  • 什么是f1?首选JavaConverters。否则它应该只是将java列表转换为scala集合并使用mkString。
  • org.apache.flink.api.java.tuple.Tuple2 在元组中有两个值。如上面的代码所示: Tuple2[Void, Array[AnyRef]] 要访问第一个值,我们使用 f0,要访问第二部分的值 (Array[AnyRef]),我们使用 f1。我尝试使用 JavaConverters。但问题依然存在。

标签: java scala java-7


【解决方案1】:

您可以使用Arrays.deepToString 来获取数组元素的字符串表示形式。

 List<Tuple2<Void, Object[]>> records= dataSource.collect();
   Tuple2<Void, Object[]> record = records.iterator().next();
   System.out.println(Arrays.deepToString(record.f1));

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 2023-03-14
    • 2023-03-27
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多