如何检查枚举值和 return 对应的枚举
how to check enum values and return corresponding enum
我的架构如下
"statusCode": {
"type": "string",
"enum": ["A", "T", "U"]
}
我正在尝试编写一个方法来检查代码和 return 相应的枚举。
private void updateStatusCode(Event event) {
Enum code = null;
switch(event.getStatusCode()) {
case A:
code = ["A"];
break;
case T:
break;
case U:
break;
default:
}
return code;
}
event.getStatusCode 有效值为:A、T、U。现在我需要检查这些代码和基于代码的 return 枚举。我尝试了上面的方法,但它在代码 = [“A”] 上给了我错误。错误状态如下。
Syntax error on token "=", Expression expected after this token
我该如何解决这个问题?我是 java 的新手。感谢您的帮助,谢谢
您似乎对枚举在 Java 中的工作方式感到困惑。 enum
基本上是 well-known 值的列表,可以分配给枚举 class 的实例。它包含根据需要经常转换 from/to String 的方法。 Enum
是它们的超级class,但您通常不需要直接使用它。
例如,假设我有以下定义:
enum StatusCode {
A,
T,
U
}
这意味着 class StatusCode
的对象只能具有值 A
、T
或 U
。
要转换,我会使用 :
String fromString = "A";
StatusCode sc = StatusCode.valueOf(fromString); //gives sc = StatusCode.A
String backToString = sc.name(); //gives backToString = "A"
在此处了解更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
我不知道你想在这里做什么,但你误解了枚举的概念。在评论中你说 statusCode 是一个枚举但它不是一个枚举它是 json 格式而不是真正的 Java expression.As 我说我不知道你在尝试什么实现,但你可以像下面这样修改你的代码。
首先创建一个枚举
enum StatusCode{
A,
B,
U
}
如果您想获得与枚举值等效的字符串,请使用以下代码
enum StatusCode{
A("A"),
T("T"),
U("U");
String code;
public StatusCode(String code){
this.code=code;
}
String getCode(){
return code;
}
}
然后像这样修改你的方法
private void updateStatusCode(Event event) {
StatusCode code;
switch(event.getStatusCode()) {
case A:
code = StatusCode.A;
break;
case T:
code = StatusCode.T;
break;
case U:
code = StatusCode.U;
break;
}
return code;
}
您可以获得枚举的字符串值作为
StatusCode code=StatusCode.A;
String strCode=code.getCode();
我的架构如下
"statusCode": {
"type": "string",
"enum": ["A", "T", "U"]
}
我正在尝试编写一个方法来检查代码和 return 相应的枚举。
private void updateStatusCode(Event event) {
Enum code = null;
switch(event.getStatusCode()) {
case A:
code = ["A"];
break;
case T:
break;
case U:
break;
default:
}
return code;
}
event.getStatusCode 有效值为:A、T、U。现在我需要检查这些代码和基于代码的 return 枚举。我尝试了上面的方法,但它在代码 = [“A”] 上给了我错误。错误状态如下。
Syntax error on token "=", Expression expected after this token
我该如何解决这个问题?我是 java 的新手。感谢您的帮助,谢谢
您似乎对枚举在 Java 中的工作方式感到困惑。 enum
基本上是 well-known 值的列表,可以分配给枚举 class 的实例。它包含根据需要经常转换 from/to String 的方法。 Enum
是它们的超级class,但您通常不需要直接使用它。
例如,假设我有以下定义:
enum StatusCode {
A,
T,
U
}
这意味着 class StatusCode
的对象只能具有值 A
、T
或 U
。
要转换,我会使用 :
String fromString = "A";
StatusCode sc = StatusCode.valueOf(fromString); //gives sc = StatusCode.A
String backToString = sc.name(); //gives backToString = "A"
在此处了解更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
我不知道你想在这里做什么,但你误解了枚举的概念。在评论中你说 statusCode 是一个枚举但它不是一个枚举它是 json 格式而不是真正的 Java expression.As 我说我不知道你在尝试什么实现,但你可以像下面这样修改你的代码。
首先创建一个枚举
enum StatusCode{
A,
B,
U
}
如果您想获得与枚举值等效的字符串,请使用以下代码
enum StatusCode{
A("A"),
T("T"),
U("U");
String code;
public StatusCode(String code){
this.code=code;
}
String getCode(){
return code;
}
}
然后像这样修改你的方法
private void updateStatusCode(Event event) {
StatusCode code;
switch(event.getStatusCode()) {
case A:
code = StatusCode.A;
break;
case T:
code = StatusCode.T;
break;
case U:
code = StatusCode.U;
break;
}
return code;
}
您可以获得枚举的字符串值作为
StatusCode code=StatusCode.A;
String strCode=code.getCode();