JDK19中是不是不能出现字符串这种模式

img


我刚开始学习Java语言,在学习Java语言的途中,出现的这种情况,为什么我输入了"星期一",它直接给我跳到最后一行,为什么,难道JDK19的规定是这样的吗?求解答,各位朋友,谢谢Thanks♪(・ω・)ノ

switch语句相当于用==判断,但字符串不支持这种方式。字符串要用.equals()方法判断才能生效:

if (a.equals("星期一")) {
    System.out.println(1);
} else if (a.equals("星期二")) {
    System.out.println(2);
} else {
    System.out.println("请输入正确的星期");
}

望题主采纳

你把输入的 a 打印一下看看

不管是jdk18,还是jdk8,都支持switch字符串比较,不用equal。 直接走到default就需要看下代码中获取的是什么值了。
可以debug看下。

看了其他两个答主的回答。
既然是JDK19,肯定支持switch...case...字符串的,语法没有问题。
既然输出???,那就是乱码了。
你用搜索引擎搜索一下你所用的开发工具出现乱码问题的解决方法即可。
比如可能命令行是GBK,代码是UTF-8,大概是这样的。