Java switch-case语句中不区分大小写的匹配

Pun*_*Raj 14 java string case-sensitive case-insensitive switch-statement

我想知道是否有一种方法可以在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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以上面的语句false作为输出返回.而我正在努力让它像对待那样不区分大小写的匹配String.equalsIgnoreCase().我试图将字符串文字转换为小写,然后比较.但是无法这样做.

ppe*_*rka 52

如果你想这样做:只需确保输入数据全部为小写,并使用小写的情况......

switch ("UPPER".toLowerCase()) {
case  "upper" :

....
Run Code Online (Sandbox Code Playgroud)

本地化问题

此外,古老的本地化问题再次发生,并且也惹恼了这个问题......例如,在土耳其语语言环境中,大写的对应物i不是I,但是?......作为回报,它I并没有转化为i,而是"无点我":?.不要低估这一点,这可能是一个致命的错误 ......