2017-05-10 30 views
0

我能夠在scala中成功使用mkString方法。但是,當試圖用java來做時,java7中不存在mkString方法。那麼有沒有什麼辦法可以在java中做同樣的事情。在java 7中使用scala.collection.TraversableOnce.mkString()方法是否有任何替代或替代方法

下面是我的參考代碼:

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

什麼是'f1'?首選'JavaConverters'。否則,它應該只是將java列表轉換爲scala集合並使用mkString。 –

+0

org.apache.flink.api.java.tuple.Tuple2在元組中有兩個元素。如上面的代碼所示: Tuple2 [Void,Array [AnyRef]] 要訪問我們使用f0的第一個值並訪問第二個部分(Array [AnyRef])的值,我們使用f1。 我嘗試過使用JavaConverters。但問題仍然存在。 – Sangeeta

回答

1

您可以使用Arrays.deepToString,讓您的數組元素的字符串表示。

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