2016-12-15 5 views
1

Я хочу, чтобы преобразовать Text distinctWords[] в List<String> с этим кодом:Hadoop - Несоответствие типа: не может конвертировать из списка <Text> в список <String>

List<String> asList = Arrays.asList(distinctWords); 

Но это дает ошибку

Hadoop - Type mismatch: cannot convert from List<Text> to List<String>. 

Как преобразовать List<Text> - List<String>?

ответ

3

Потому что Text не является String, прямое преобразование не может быть выполнено. Тем не менее, это можно сделать с простым для каждого-:

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()); 
+0

Большое вам спасибо за ответ сэр. Я пытаюсь это решение. – Jungleman

Смежные вопросы