I have the following enum:
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 ); } }
Is it possible to build StringEnum interface to make sure every enum has find(), toString() and a constructor?
Thanks.
It’s not possible to specify either constructors or static methods in an interface. For a good, concise explanation, check out this article: No static methods in interfaces