2017-05-10 1 views
0

Je peux utiliser la méthode mkString dans scala avec succès. Mais en essayant de le faire avec Java, il n'existe pas de méthode mkString pour java7. Donc est-il possible de faire la même chose en java?Est-il possible de remplacer la méthode scala.collection.TraversableOnce.mkString() dans java 7

ci-dessous est mon code de référence:

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

Qu'est-ce que 'f1'? Préférez 'JavaConverters'. Sinon, il devrait simplement fonctionner pour convertir la liste java en collection scala et utiliser mkString. –

+0

org.apache.flink.api.java.tuple.Tuple2 prend deux vaues dans le tuple. Comme indiqué dans le code ci-dessus: Tuple2 [Void, Array [AnyRef]] Pour accéder à la première valeur, nous utilisons f0 et pour accéder à la valeur de la deuxième partie (Array [AnyRef]), nous utilisons f1. J'ai essayé d'utiliser JavaConverters. Mais le problème persiste encore. – Sangeeta

Répondre

1

Vous pouvez utiliser Arrays.deepToString pour obtenir la représentation de chaîne de vos éléments de tableau.

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