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;

 

目录
相关文章
|
4月前
|
Java
java switch case多个条件
通过本文的介绍,我们详细探讨了Java中 `switch case`语句的多种用法和优化方法。从基本语法到合并多个条件,再到使用枚举、常量和函数优化,`switch case`语句在Java编程中提供了一种灵活且高效的控制流方式。掌握这些技巧,能够编写出更加简洁、可读性强的代码,提高开发效率和代码质量。希望本文能为您在实际开发中提供有价值的参考和指导。
265 2
|
存储 Java 编译器
【Java异常】Variable used in lambda expression should be final or effectively final
【Java异常】Variable used in lambda expression should be final or effectively final
294 0
【Java异常】Variable used in lambda expression should be final or effectively final
|
10月前
|
Java
Java.Switch case 应用
Java.Switch case 应用
68 0
|
10月前
|
Java
Java switch case 语句
4月更文挑战第11天
|
Java
Java switch case语句
Java switch case语句
121 0
解决报错之 - error Identifier ‘attr_id‘ is not in camel case camelcase
解决报错之 - error Identifier ‘attr_id‘ is not in camel case camelcase
464 0
解决报错之 - error Identifier ‘attr_id‘ is not in camel case camelcase
|
JSON Java Scala
Scala中使用JSON.toJSONString报错:ambiguous reference to overloaded definition
问题描述: [ERROR] /Users/jack/book/lightsword/src/main/scala/com/springboot/in/action/filter/LoginFilter.
2328 0
|
Dart
Dart之break、continue/ switch...case
Dart之break、continue/ switch...case
122 0
Dart之break、continue/ switch...case
解决办法:Type safety: The expression of type List needs unchecked conversion to conform
解决办法:Type safety: The expression of type List needs unchecked conversion to conform
384 0
|
Java
Java - Lambda Error:Variable used in lambda expression should be final or effectively final
Java - Lambda Error:Variable used in lambda expression should be final or effectively final
1619 0
Java - Lambda Error:Variable used in lambda expression should be final or effectively final