【发布时间】:2014-11-10 18:16:33
【问题描述】:
我对 switch 语句中的对象有疑问。
我知道 case 子句中使用的变量必须是最终的(否则我们会得到:“case 表达式必须是常量表达式”)。
对象上的final意味着只有引用不能改变,值仍然可以被其他非最终引用改变,因此,我们不能在'case'中使用对象。
但是为什么我们不能使用包装器呢?它们是不可变的不是吗?
java代码:
Integer i = 8;
final int x = 10;
switch ( x )
{
case x:
System.out.println("x");
break;
case i:
System.out.println("i");
break;
}
【问题讨论】:
-
这是什么语言?看起来像是 Java,但我不确定。
-
它说 Java 所以它可能是 ;-)
-
在这种情况下你对“Wrapper”的理解是什么?你能给我们举个例子吗?
标签: java switch-statement wrapper