将列表中的单词更改为小写


/** Read the sequence of words on INPUT, and return as a List.  If LINKED,
 *  use a linked representation.  Otherwise, use an array representation.
 */
static List<String> readList(Scanner input, boolean linked) {
    List<String> L;
    if (linked) {
        L = new LinkedList<String>();
    } else {
        L = new ArrayList<String>();
    }
    while (input.hasNext()) {
        L.add(input.next());
    }
    for (String word : L) {
        word = word.toLowerCase();
    }
    return L;
}

这是我从文本文件中读取单词并将其作为列表返回的代码。但是,我想使文件中的所有单词都小写,但toLowerCase方法不起作用。关于如何使它们全部小写的任何建议?

重新

分配word不会影响列表中包含的内容。为什么不在添加到列表中时直接调用toLowerCase()

while (input.hasNext()) {
    L.add(input.next().toLowerCase());
}

字符串是不可变的。您需要在列表中替换它们。

for (int i = 0; i < L.length(); ++i) {
    L.set(i, L.get(i).toLowerCase();
}

或者,您可以只执行添加到列表的toLowerCase()

while (input.hasNext()) {
    L.add(input.next().toLowerCase());
}

怎么样

L.add(input.next().toLowerCase());

相关内容

  • 没有找到相关文章

最新更新