我Enums在Java中有一个简单的问题请参考以下代码.什么时候像PropName .CONTENTS实例化实例?
public enum PropName {
CONTENTS("contents"),
USE_QUOTES("useQuotes"),
ONKEYDOWN("onkeydown"),
BROWSER_ENTIRE_TABLE("browseEntireTable"),
COLUMN_HEADINGS("columnHeadings"),
PAGE_SIZE("pageSize"),
POPUP_TITLE("popupTitle"),
FILTER_COL("filterCol"),
SQL_SELECT("sqlSelect"),
;
private String name;
private PropName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud) 我在使RestEasy(3.0.10.Final)将路径参数解析为枚举值时遇到问题.
有枚举定义......
package com.stines;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonValue;
public enum MyNumber {
One("number-one"), Two("number-two");
@JsonIgnore private final String text;
@JsonIgnore
private MyNumber(final String text) {
this.text = text;
}
@JsonValue
public String getText() {
return text;
}
@JsonCreator
public static MyNumber byText(final String text) {
for (final MyNumber value : MyNumber.values()) {
if (value.getText().equals(text)) return value;
}
throw new IllegalArgumentException("Unknown number");
}
}
Run Code Online (Sandbox Code Playgroud)
......和终点......
@PUT
@Path("{number}")
void putNumber(
@PathParam("number") MyNumber number
);
Run Code Online (Sandbox Code Playgroud)
......我希望能打到PUT http://my-server/number-one.
我看到以下情况:
Caused …Run Code Online (Sandbox Code Playgroud)