Java代码风格可偶尔变通吗?简化switch写法是否合规?
Java switch语句紧凑写法的风格疑问
首先明确:你调整后的写法语法完全合法,Java编译器可以正常编译执行,不存在功能层面的问题。
关于代码风格:这本质是约定问题,而非绝对对错。你的课程标记它为不良风格,大概率是因为课程采用的规范(比如Oracle官方代码规范或课程自定义规则)要求代码块内容单独换行。但在业界,这种紧凑写法并不会被普遍诟病——很多团队如果追求代码简洁、节省垂直空间,会允许甚至鼓励这种写法,尤其是当代码块内只有一行语句时。
另外,针对你这个场景,其实还能进一步简化:当switch的case分支只有单个返回/抛出语句时,甚至可以省略大括号,写法如下:
switch (number) { case 1 -> return "Mon"; case 2 -> return "Tue"; case 3 -> return "Wed"; case 4 -> return "Thu"; case 5 -> return "Fri"; case 6 -> return "Sat"; case 7 -> return "Sun"; default -> throw new IllegalArgumentException(); }
这种写法在Java 14及以上版本的箭头式switch中完全合规,而且更简洁,不少主流代码规范也允许这种单行箭头分支的写法。
总结来说:你写的紧凑大括号写法没问题,不会被业界诟病,只是不符合课程的特定规范。实际工作中,只要和团队的代码风格保持一致即可——团队允许就用,要求换行就遵循规则。
内容的提问来源于stack exchange,提问作者Connor Wright
相关产品推荐
相关产品推荐

