类型不匹配:将String转换为List<String>

4

我想到了我的学校课程计划的算法,但我认为也有一些基础难点...

这是我的代码和问题:

import java.io.*;
import java.util.*;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    String allWords = System.getProperty("user.home") + "/allwords.txt";
    Anagrams an = new Anagrams(allWords);
    for(List<String> wlist : an.getSortedByAnQty()) {
      //[..............];
    }
    }
}

public class Anagrams {

    List<String> myList = new ArrayList<String>();

    public List<String> getSortedByAnQty() {
        myList.add("aaa");
        return myList;
    }
}

我得到了“类型不匹配:无法将元素类型 String 转换为 List”的错误信息,请问如何正确初始化 getSortedByAnQty() 函数呢?
2个回答

9

an.getSortedByAnQty() 返回一个 List<String>。当您遍历该列表时,您会得到单个字符串,因此增强型 for 循环应该有一个 String 变量:

for(String str : an.getSortedByAnQty()) {
  //[..............];
}

如果main方法应该保持不变,那么你需要将getSortedByAnQty更改为返回一个List<List<String>>

很不幸,我无法更改Main{} ;) - mallorn
1
在这种情况下,将“getSortedByAnQty”更改为返回“List<List<String>>”(即列表的列表)。 - Eran

0
char[] cArray = "MYString".toCharArray();
convert the string to an array as above and then iterate over the character array to form a list of String as below

List<String> list = new ArrayList<String>(cArray.length);

for(char c : cArray){
    list.add(String.valueOf(c));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接