我想知道是否有一种方法可以在 java switch case 语句中执行不区分大小写的匹配。默认实现区分大小写。请参阅下面的示例。
public class SwitchCaseTest {
/**
* @param args
*/
public static void main(String[] args) {
switch ("UPPER") {
case "upper" :
System.out.println("true");
break;
default:
System.out.println("false");
break;
}
}
}
所以上面的语句返回 false
作为输出。我正在尝试使其适用于 case-insensitive 匹配,就像 String.equalsIgnoreCase()
一样。我试图将字符串文字都转换为小写,然后进行比较。但无法这样做。
最佳答案
如果您想这样做:只需确保输入数据全部为小写,并使用小写...
switch ("UPPER".toLowerCase()) {
case "upper" :
....
本地化问题
此外,古老的本地化问题再次出现,也困扰着这件事......例如,在土耳其语言环境中,i
的大写对应不是 I
,但是 ©
... 作为返回,I
没有转换为 i
,而是一个“无点 i”:我
。别小看这个,它可以是 a deadly mistake ...
关于java - Java switch-case 语句中不区分大小写的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180797/