不编译:
void test(Integer x){ switch(x){ case 'a': } }
编译成功:
void test(Byte x){ switch(x){ case 'a': } }
原因相当复杂,但是全部都在Java语言规范的细节中(如果您愿意,精细打印
首先,JLS 14.11对switch语句说以下:
switch
原因相当复杂。