我想检查类型列枚举是否可以使用。为什么不能将字符串设置为枚举的值?
亲切的问候
@Entity
@Table(name = "rooms")
public class Room extends BaseModel {
private String name;
private int capacity;
@Column(name = "change_time")
private int changeTime;
@Enumerated(EnumType.STRING)
public Type type;
public enum Type {
LABORATORY("Laboratory"), //This one is not working
OFFICE,
COMPUTER_LAB,
LECTURE_ROOM,
HALL;
}
public Room(String name, int capacity, int changeTime, Type type) {
this.name = name;
this.capacity = capacity;
this.changeTime = changeTime;
this.type = type;
}
Room() {
}
...Getter and Setter........发布于 2018-11-06 14:46:06
你好,在枚举中缺少构造函数类型(字符串)
public enum Type {
LABORATORY("Laboratory"), //This one is not working
OFFICE,
COMPUTER_LAB,
LECTURE_ROOM,
HALL;
private final String val;
Type() {
this.val = "";
}
Type(String val) {
this.val = val;
}
}发布于 2018-11-06 14:46:13
您必须编写如下正确的构造函数:
public enum Type {
private String name;
LABORATORY("Laboratory"),
/// ...
HALL("Hall");
// constructor with String parameter
Type(String name){
this.name = name;
}
String getName(){
return name;
}
}发布于 2018-11-06 14:46:15
您应该像下面这样通过指定构造函数来创建枚举。
public enum Type {
LABORATORY("Laboratory"),
OFFICE("Office"),
COMPUTER_LAB("Computer_lab"),
LECTURE_ROOM("Lecture_room"),
HALL("Hall");
private String value;
private Type(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
public void setValue(String value)
{
this.value = value;
}
}https://stackoverflow.com/questions/53174009
复制相似问题