Java 如何为这样的枚举构建接口
我有以下枚举:Java 如何为这样的枚举构建接口,java,interface,enums,Java,Interface,Enums,我有以下枚举: public enum Status implements StringEnum{ ONLINE("on"),OFFLINE("off"); private String status = null; private Status(String status) { this.status = status; } public String toString() { return this.statu
public enum Status implements StringEnum{
ONLINE("on"),OFFLINE("off");
private String status = null;
private Status(String status) {
this.status = status;
}
public String toString() {
return this.status;
}
public static Status find(String value) {
for(Status status : Status.values()) {
if(status.toString().equals(value)) {
return status;
}
}
throw new IllegalArgumentException("Unknown value: " + value );
}
}
是否可以构建StringEnum接口以确保每个枚举都有find()、toString()和构造函数
谢谢。在接口中不能指定构造函数或静态方法。要获得一个好的、简洁的解释,请查看本文:
toString
是在java.lang.Object
中定义的,如果未定义方法,则在接口中要求它将永远不会导致编译错误enum
s的新实例(除非可能通过某种反射机制)。enum已经有了(您的find方法)方法。而“toString()”是一个java.lang.Object方法,所以,每个类都会有它,换句话说,你不能强制它!我看不到强制构造函数的价值,因为不同的枚举可能有不同的初始化
问候