static void seaArray()
{
String searchTerm = key.nextLine();
for (int i = 0; i < name.size(); i++)
{
if (name.get(i).toLowerCase().indexOf(searchTerm.toLowerCase(), i) != -1)
{
printLn(name.get(i));
}
else
{
printLn("nope");
}
}
promptCommand();
}
我正在尝试允许用户搜索他们通过字符输入的名称。我主要解决了这些问题,但我也希望他们能够做到这一点而不必担心案件。我搜索了这个问题,并提供了所提供的说明,但它仍然是区分大小写的。
有人介意帮助我吗?
更多信息:名字就是我所说的arraylist。感谢大家的投入,当我有机会的时候,请尝试解决方案。
答案 0 :(得分:1)
java.lang.String提供了一种名为equalsIgnoreCase
的方法:
for(String str : name) {
if(str.equalsIgnoreCase(searchTerm)) {
....
} else {
....
}
}
答案 1 :(得分:1)
尝试使用Collections.binarySearch(name, searchTerm, String.CASE_INSENSITIVE_ORDER)
(除非您将name
视为searchTerm
的子字符串?)
答案 2 :(得分:1)
使用equalsIgnoreCase()
代替equals()
答案 3 :(得分:1)
使用小写的String#contains
。
for(String nm:name){
if(nm.toLowerCase().contains(searchTerm.toLowerCase()))
printLn(name.get(i));
else
printLn("nope");
}