Java 所有枚举的枚举接口实现了equals方法
我有3个枚举。我需要所有枚举实现我的方法Java 所有枚举的枚举接口实现了equals方法,java,enums,Java,Enums,我有3个枚举。我需要所有枚举实现我的方法 public interface BaseEnum { public String getFontName(); public File getLocation(); } 我在实现BaseEnum时需要此选项: public enum TestEnum implements BaseEnum{ NEW(0), NEW2(1); private int value; TestEnum (int value
public interface BaseEnum {
public String getFontName();
public File getLocation();
}
我在实现BaseEnum时需要此选项:
public enum TestEnum implements BaseEnum{
NEW(0),
NEW2(1);
private int value;
TestEnum (int value) {
this.value = value;
}
//I need
@Override
public String getFontName() {
return fontName;
}
@Override
public File getLocation() {
return location;
}
}
但我有一个:
public enum ServerStatus implements BaseEnum{
NEW(0) {
@Override
public String getFontName() {
return null;
}
@Override
public File getLocation() {
return null;
}
},
NEW2(1) {
@Override
public String getFontName() {
return null;
}
@Override
public File getLocation() {
return null;
}
};
private int value;
ServerStatus(int value) {
this.value = value;
}
}
我进去了
我要创建转换器
public class StatusConverter<T> implements AttributeConverter<T,Integer> {
@Override
public Integer convertToDatabaseColumn(T t) {
return null;
}
@Override
public T convertToEntityAttribute(Integer integer) {
return null;
}
}
公共类StatusConverter实现AttributeConverter{
@凌驾
公共整数convertToDatabaseColumn(T){
返回null;
}
@凌驾
公共T convertToEntityAttribute(整数){
返回null;
}
}
但我需要知道T需要方法,我想要
implements AttributeConverter<T extends BaseEnum,Integer>
实现AttributeConverter
编辑:
public interface BaseEnum<T> {
Integer getValue();
T parce(int id);
}
公共接口BaseEnum{
整型getValue();
T公园(国际id);
}
我的枚举
public enum ServerStatus implements BaseEnum<ServerStatus> {
NEW(0),
NEW2(1);
private int value;
ServerStatus(int value) {
this.value = value;
}
@Override
public Integer getValue() {
return value;
}
@Override
public ServerStatus parce(int id) {
ServerStatus status = null; // Default
for (ServerStatus item : ServerStatus.values()) {
if (item.getValue() == id) {
status = item;
break;
}
}
return status;
}
}
公共枚举服务器状态实现BaseEnum{
新的(0),
新增2(1);
私有int值;
服务器状态(int值){
这个值=值;
}
@凌驾
公共整数getValue(){
返回值;
}
@凌驾
公共服务器状态parce(int id){
ServerStatus status=null;//默认值
对于(ServerStatus项:ServerStatus.values()){
if(item.getValue()==id){
状态=项目;
打破
}
}
返回状态;
}
}
和转换器:
public class StatusConverter<T extends BaseEnum<T>> implements AttributeConverter<T,Integer> {
@Override
public Integer convertToDatabaseColumn(T t) {
return t.getValue();
}
@Override
public T convertToEntityAttribute(Integer integer) {
return T.;//how can I get parse()???
}
}
公共类StatusConverter实现AttributeConverter{
@凌驾
公共整数convertToDatabaseColumn(T){
返回t.getValue();
}
@凌驾
公共T convertToEntityAttribute(整数){
返回T.;//如何获取parse()???
}
}
您的fontName
和位置从哪里来?您是否尝试过公共类StatusConverter实现AttributeConverter{…}
?@Ted Hopp I编辑问题