我想使用以下代码将Text distinctWords[]
转换为List<String>
:
List<String> asList = Arrays.asList(distinctWords);
但它给出了错误
Hadoop - Type mismatch: cannot convert from List<Text> to List<String>.
如何将List<Text>
转换为List<String>
?
答案 0 :(得分:3)
由于Text
不是String
,因此无法进行直接转换。但是,这可以通过简单的for-each来完成:
List<String> strings = new ArrayList<> ();
for (Text text : distinctWords) {
strings.add(text.toString());
}
或使用Java 8流
List<String> strings = Arrays.stream(distinctWords)
.map(word -> word.toString())
.collect(Collectors.toList());