我知道这将无法编译:
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的答案,而且信息必须已经存在,但我不确定如何正确地表达问题.提前致谢!