/** 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());