Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 所有枚举的枚举接口实现了equals方法_Java_Enums - Fatal编程技术网

Java 所有枚举的枚举接口实现了equals方法

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

我有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) {
        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编辑问题