为什么
Java中的Switch语句可以包含一个FINAL变量作为CASE? ##
在我检查的JDK7中,无法将值重新分配给最终变量,如下所示.但是,为什么最终变量“x”可以包含在一个案例事件的Switch语句中,而最终变量“x”的值是否无法重新分配?
请告诉我这是否是Java编译器的技术错误,或者是否存在异常或特殊用途来检查Switch语句中的最终变量的大小写?
class Example{
public static void main(String args[]){
final int x=100;
//x=200; //error: cannot assign a value to final variable x
//The below piece of code compiles
switch(x){
case 200: System.out.println("200");
case 300: System.out.println("300");
}
}
}