为什么在交换机中使用Integer引用作为case常量给出错误?

时间:2017-05-30 18:11:47

标签: java switch-statement compile-time-constant

public class Switch {

    public static void main(String[] args) {


      final  Integer i=new Integer(2);

        switch(i)
        {
        case i:System.out.println("hi");
        }
    }

}

当我编译它然后它给出错误说该案件必须是一个consatnt但如果我写下面的代码然后没有错误。为什么?

public class Switch {

    public static void main(String[] args) {


      final  int i=2;

        switch(i)
        {
        case i:System.out.println("hi");
        }
    }

}

0 个答案:

没有答案