我正在阅读用户输入。我想知道如何将equalsIgnoreCase
应用于用户输入?
ArrayList<String> aListColors = new ArrayList<String>();
aListColors.add("Red");
aListColors.add("Green");
aListColors.add("Blue");
InputStreamReader istream = new InputStreamReader(System.in) ;
BufferedReader bufRead = new BufferedReader(istream) ;
String rem = bufRead.readLine(); // the user can enter 'red' instead of 'Red'
aListColors.remove(rem); //equalsIgnoreCase or other procedure to match and remove.
最佳答案
如果不需要List
,则可以使用用不区分大小写的比较器初始化的Set
:
Set<String> colors =
new TreeSet<String>(new Comparator<String>()
{
public int compare(String value1, String value2)
{
// this throw an exception if value1 is null!
return value1.compareToIgnoreCase(value2);
}
});
colors.add("Red");
colors.add("Green");
colors.add("Blue");
现在,当您调用remove时,参数的大小写不再重要。因此,以下两行均适用:
colors.remove("RED");
要么
colors.remove("Red");
但这仅在不需要
List
接口为您提供的顺序时才有效。关于java - 用户输入忽略大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5448379/