Java将方法返回值称为切换案例值

Ami*_*dav 4 java case switch-statement method-call

我必须使用一个值,通常通过switch case中的方法返回.

int getVal(){return 121;}

 switch(expr){

    case getVal():
 }
Run Code Online (Sandbox Code Playgroud)

但它给出了编译错误:需要持续表达.

我也试过,

int _val = getVal();

 switch(expr){

    case _val:
 }
Run Code Online (Sandbox Code Playgroud)

有相同的结果.

是否有任何解决方法来实现它.

谢谢,阿米特

SLa*_*aks 6

由于错误明确指出,switch只适用于常量表达式.

你需要使用一个if.