小编Ste*_* B.的帖子

为什么我的switch语句中没有重复的大小写?

我知道这将无法编译:

int caseNum = 2;

switch(caseNum)
{
    case 2:
        System.out.println("Happy");
        break;
    case 2:
        System.out.println("Birthday");
        break;
    case 2:
        System.out.println("To the ground!");
        break;
    default:
        System.out.println("<3");
        break;
}
Run Code Online (Sandbox Code Playgroud)

我知道case语句是冲突的,并且编译器"不知道我正在谈论哪个'案例2'".我和我的一些同行在幕后想知道冲突是什么,并且听说过switch语句被转换成哈希映射.是这种情况,在编译期间,switch语句是否成为哈希映射,并且映射中的冲突会产生错误?

到目前为止,我已经浏览了Stack Overflow和Google的答案,而且信息必须已经存在,但我不确定如何正确地表达问题.提前致谢!

java compiler-construction compiler-errors

2
推荐指数
1
解决办法
2303
查看次数