我正在阅读用户输入。我想知道如何将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/

10-13 00:05