switch case的条件为常量仍然报错不是常量

问题描述

这是常量的定义,import的也没问题把声明的List注释以后case不报错好奇怪,大家说说这个原因是什么?

解决方案

解决方案二:
把Byte换位byte
解决方案三:
后面也是错的,只不过你注释掉那句话后resource变量都没申明,这个错误把外面的错误"挡到了"。你把常量字段声明为byte类型的,不能是Byte,switch不支持
解决方案四:
byte,不要用Byte类
解决方案五:
byte是基本数据类型,而Byte是对byte的封装类(是一个类),switch里的判断只是支持基本数据类型(要求一个具体的数据)比如int,short,long,byte,char可以用于在switch里使用。

时间: 2024-10-21 18:09:04

switch case的条件为常量仍然报错不是常量的相关文章

ORA-01455报错的问题探究

  昨天同事说有个应用执行某个特殊操作时会报:ORA-01455: converting column overflows integer datatype 网上包括MOS上对1455报错介绍更多的是在做exp导出时可能出现这个问题. 1087122.1介绍: "当创建使用初始值超过10位的序列时,可能会出现如下问题: ORA-01455: converting column overflows Integer datatype ORA-06502 PL/SQL: Numeric or valu

java中使用switch case报错case expressions must be constant expressions

一.发现问题 private int CLICK_QUERY = 1; private int CLICK_RESET = 2; @Override public void onClick(View v) {  int tag = (Integer) v.getTag();  switch (tag)  {   case CLICK_QUERY:    query();   break;   case CLICK_RESET:    reset();   break;  } } 编译时一直报错:

举例讲解Swift编程中switch...case语句的用法_Swift

Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性.使用Switch语句很简单: var i = 0 switch i { case 0: "0" //被输出 case 1: "1" default: "2" } 在这个最简单的Switch语句中,与其他语言很不同的一点是:不用显式的加上break.Swift的S

java中switch case语句的使用方法

switch语法  代码如下 复制代码 switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; } default就是如果没有符合的case就执行它,default并不是必须的. case后的语句可以不用大括号. switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几

Javascript中switch case 语句学习笔记

在if条件语句中,逻辑条件只能有一个,如果有多个条件,可以使用嵌套的if语句来解决,但这种方法会增加程序的复杂度,降低程序的可读性. 使用switch流程控制语句可以完美地解决这些问题,其基本结构如下: switch语句语法  代码如下 复制代码 switch(条件表达式) {         case 常量:         {                 语句a;         }         case 常量:         {                 语句b;     

循环语句和switch...case

问题描述 循环语句和switch...case 请问在循环语句中使用了switch...case,如何在分支结束后再执行另一个分支? 解决方案 分支结束后再执行另一个分支什么意思? 你可以用贯穿的标号: switch (day) { case 1: case 2: ... case 5: cout << "work day "; case 6: case 7: cout << "rest day "; default: cout <&l

javascript 从if else 到 switch case 再到抽象_javascript技巧

我的答案是,超过两个 else 的 if ,或者是超过两个 case 的 switch .可是在代码中大量使用 if else 和 switch case 是很正常的事情吧?错!绝大多数分支超过两个的 if else 和 switch case 都不应该以硬编码( hard-coded )的形式出现. 复杂分支从何而来 首先我们要讨论的第一个问题是,为什么遗留代码里面往往有那么多复杂分支.这些复杂分支在代码的首个版本中往往是不存在的,假设做设计的人还是有点经验的话,他应该预见将来可能需要进行扩展

php switch case用法与实例教程

php switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分,通常为变量名称.而 case 后的 exprN,通常表示变量值.冒号后则为符合该条件要执行的部分.注意要用 break 跳离循环. switch与if 区别是   用 if 循环就很麻烦了.当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率,Switch 语句可以避免冗长的 if..elseif..else 代码块. switch (expr) {     

【求助】关于switch case 的问题

问题描述 本人刚开始学习C#,在Unity中想实现如下功能,控制汽车的档位,在不同档位下实现不同的速度,具体的代码如下://定义档位函数voidGears(){if(Input.GetKeyDown(KeyCode.Q)){if(gears<8){gears++;}}elseif(Input.GetKeyDown(KeyCode.E)){if(gears>-8){gears--;}}Debug.Log("gears="+gears);switch(gears){case8: