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

标签 java string switch-statement case-sensitive case-insensitive

我想知道是否有一种方法可以在 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/

相关文章:

string - Swift - 从核心数据中获取字符串并以 UTF8 格式转换

c - 开关语句 : must default be the last case?

python - 如何从一个文件中打开多个文件(行值是文件名),然后更改其值?

java - 使用java windows应用程序获取mysql中两个日期之间的记录

java - Netbeans - 将 JPanel 添加到 JFrame - 问题

Java实现接口(interface)

java - Android 上的字符串复制

python - Python 中 STRINGS 的 switch-case 语句

带开关的Android自定义弹出菜单

java - 删除偶数索引处的元素