将List <string>转换为String返回类型

时间:2016-05-29 04:14:30

标签: java string list class casting

方法(下面)是List<String>类型,我用作参数的类是String。我想知道我的投射方式是否有效:

return (List<String>) subList;

这是方法:

public List<String> getWords(String phrase) {
    LetterCounter subList = new LetterCounter(phrase);
    if (phrase == null) throw new IllegalArgumentException();
    for (String element : dict) {
        if (subList.contains(element))
            subList.add(element);
    }
    return (List<String>) subList;
}// End of getWords

此网址指向LetterCounter类:

http://pastebin.com/XbeUSvPx

我把它放在粘贴箱中因为班级太长了。

2 个答案:

答案 0 :(得分:2)

更好地创建List<String>的新实例并将String元素添加到

public List<String> getWords(String phrase) {
    LetterCounter subList = new LetterCounter(phrase);
    if (phrase == null) throw new IllegalArgumentException();
     List<String> str = new List<>();
    for (String element : dict) {
        if (subList.contains(element))
            str.add(element);
    }
    return str;
}

我建议这样做,因为您的element in循环是String

答案 1 :(得分:1)

如果LetterCounter类的定义如下:

public class LetterCounter extends ArrayList<String>{
        // implementation

}

你根本不需要施放。这是因为Java允许协变返回类型。请查看What is a covariant return type?