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;
 }
}
编译时一直报错:CLICK_QUERY 和CLICK_RESET——case expressions must be constant expressions

 

二、解决问题

case后面必须跟常量,必须要常量,将上面两个变量声明为final即可。

private final int CLICK_QUERY = 1;
private final int CLICK_RESET = 2;

 

时间: 2024-10-27 12:17:52

java中使用switch case报错case expressions must be constant expressions的相关文章

环境配置报错-日文系统下Java程序中的中文注释报错

问题描述 日文系统下Java程序中的中文注释报错 我的系统是日文的, 只是一个最简单程序,因为程序中使用中文的注释,所以编译的时候报错,请指教怎样才能不报错? 参看: public class FloatTest { public static void main(String[] args) { float af = 5.2345556f; // 下面将看到af的值已经发生了改变 System.out.println(af); double a = 0.0; double c = Double

java 中关于switch的问题

问题描述 java 中关于switch的问题 "语法错误,插入":"来完成switchlabel"是什么意思 输入月份,根据月份判断相应的季节,采用case穿透来完成整个过程 解决方案 case 1: 这两点用: 你用的是; 解决方案二: 补充楼上说的一点,注意使用中英文输入法,这里必须用英文的":"不是中文":" 解决方案三: package 必须第一行 解决方案四: case后面是常量加上英文输入法半角输入的冒号:你输入的

证书服务-java访问AD活动目录报错 在线等

问题描述 java访问AD活动目录报错 在线等 最近在写向AD里面插入用户名和密码的代码,用ldap协议和389端口时可以向AD里面插入无密码的用户,现在改用ldaps方式和636端口后却连不上AD了,郁闷了好多天了,求大神帮助... 注:AD服务和证书服务没有在一台服务器上,我已经在证书服务器上下载了.cer文件,并导入到了d:/zhouwd.keystore文件里. 代码: Hashtable env = new Hashtable(); String adminName = "xdadmi

mongodb-Mongodb在java中,多线程update时报错,请问是哪里出现的问题?

问题描述 Mongodb在java中,多线程update时报错,请问是哪里出现的问题? public class LocationPressureTest { private Todo todo; private int number; static Mongo mg = new Mongo("localhost", 27017); static DB db = mg.getDB("location_pressure_test_db"); static DBColl

querystring-在httpclient中使用Serializable接口报错

问题描述 在httpclient中使用Serializable接口报错 public static void main(String[] args) throws IOException ClassNotFoundException { String url = ""http://localhost:8080/RmiJetty/test""; Scanner sc1 = new Scanner(System.in); String queryString1 = &q

studio-Android Studio中使用JUnit测试报错(ClassNotFoundException)

问题描述 Android Studio中使用JUnit测试报错(ClassNotFoundException) 在Android Studio中编写测试类public class MyAppTest extends ActivityInstrumentationTestCase2报错: Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter Caused by: java

linux中myecplise启动tomcat报错

问题描述 linux中myecplise启动tomcat报错 我装了myeclipse2014和tomcat8.0和jdk1.8,jdk安装无任何问题,但是启动tomcat时就报错我是linux菜鸟新手,希望大神帮助,给个详细的解决办法,谢谢!: 二月 21, 2015 9:01:21 下午 org.apache.catalina.valves.AccessLogValve open 严重: Failed to open access log file [/home/snow/soft/tomc

Windows 8应用商店中安装软件出现报错:0x80070585

  故障现象: Windows 8应用商店中安装软件出现报错:0x80070585 解决方案: 1. 重新启动电脑; 2. 按ctrl+alt+delete组合键调出任务管理器; 3. 停止WMPNetworkSvc服务; 4. 重新安装刚才无法运行的软件.

jboss-JBOSS4 在运行过程中突然不停地报错DLQ not bound是什么原因?

问题描述 JBOSS4 在运行过程中突然不停地报错DLQ not bound是什么原因? JBOSS4 在运行过程中突然不停地循环报错DLQ not bound,但是运行系统连接JBOSS还是正常的,而且业务也能正常执行,请问这个是什么原因导致的呢?怎么预防和停止报错?