我同意以下代码:
var y = switch (0) {
case 0 -> '0';
case 1 -> 0.0F;
case 2 -> 2L;
case 3 -> true;
default -> 4;
};
System.out.println(y);
System.out.println(((Object) y).getClass().getName());
Run Code Online (Sandbox Code Playgroud)
返回此:
0
java.lang.Character
Run Code Online (Sandbox Code Playgroud)
但是,如果删除布尔值:
var y = switch (0) {
case 0 -> '0';
case 1 -> 0.0F;
case 2 -> 2L;
default -> 4;
};
System.out.println(y);
System.out.println(((Object) y).getClass().getName());
Run Code Online (Sandbox Code Playgroud)
返回此:
48.0
java.lang.Float
Run Code Online (Sandbox Code Playgroud)
我想这个结果是出乎意料的。