【发布时间】:2020-10-27 14:12:45
【问题描述】:
我有一个像下面这样的枚举:
public enum TripType {
TRIP1,
TRIP2,
TRIP3,
TRIP4
}
然后我有一个接收字符串参数setupTravel(String tripType) 的方法,我需要使用TripType 检查tripType 的值。我希望使用如下开关盒:
setupTravel(String tripType){
switch (tripType){
case TripType.TRIP1.toString():
setup1();
break;
case TripType.TRIP2.toString():
setup2();
break;
}
}
但是,在TripType.TRIP1.toString() 行中,它抱怨:
Constant expression required
我该如何解决?
【问题讨论】:
-
setupTravel 是你的方法吗?它必须带一个字符串吗?
-
只是一个提示。不确定它是否对您有用。您可以使用枚举构造函数对每个枚举值执行不同的操作。您可以完全避免使用开关盒或 if-else 阶梯。我总是觉得它更易读、更好。
标签: java switch-statement