静态泛型方法和子接口?

时间:2017-12-18 01:17:43

标签: java generics static-methods

我的界面看起来像这样。

public interface FieldEnum<T> {

    static <E extends Enum<E> & FieldEnum<T>, T> E valueOfRaw(
            final Class<E> type, final T raw) {
        for (final E enumConstant : type.getEnumConstants()) {
            if (Objects.equals(enumConstant.getRaw(), raw)) {
                return enumConstant;
            }
        }
        throw new IllegalArgumentException("unknown raw: " + raw);
    }

    T getRaw();
}

当我像这样扩展它时,

public interface StringFieldEnum extends FieldEnum<String> {

}

在其中定义以下方法是多余的吗?

    static <E extends Enum<E> & StringFieldEnum> E valueOfRaw(
            final Class<E> type, final String raw) {
        return FieldEnum.valueOfRaw(type, raw);
    }

0 个答案:

没有答案