java中switch语句中case后为啥不能加 int类型的常量
我想用switch语句去遍历,但是在case后面添加staticfinalInteger类型的常量就会报错,这是什么情况啊...
我想用switch语句去遍历,但是在case后面添加static final Integer 类型的常量就会报错,这是什么情况啊
展开
3个回答
展开全部
可以先声明,而不给初值。所以如果你使用public static final int
m; 然后加入到case里面是不会通过编译的。 另外 如果switch(key)里面的key的值是有范围的,比如是byte类型的值。 就算你给了一个初值的final类型的变量超过了byte的值的范围比如public static final int m = 999. 也是不能通过编译的。故 第一个说法是有出入的。
m; 然后加入到case里面是不会通过编译的。 另外 如果switch(key)里面的key的值是有范围的,比如是byte类型的值。 就算你给了一个初值的final类型的变量超过了byte的值的范围比如public static final int m = 999. 也是不能通过编译的。故 第一个说法是有出入的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是不可以,是之前定义的i 是 int类型 而你常量类型是Integer
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询