如何抑制方法引用的 rawType?

How can I suppress rawType of method reference?

我有一个方法看起来像这样。

public <E extends Enum<E> & Some> void setOther(final E some) {
    setOther(ofNullable(some).map(e -> e.name()).orElse(null);
}

现在 IntelliJ 建议对 e -> e.name() 部分使用方法参考。

然后我改了。

public <E extends Enum<E> & Some> void setOther(final E some) {
    setOther(ofNullable(some).map(Enum::name).orElse(null);
}

现在编译器会抱怨它。

... ....java:nnn: warning: [rawtypes] found raw type: Enum
        setOther(ofNullable(some).map(Enum::name).orElse(null));
                                      ^

输入 @SuppressWarnings({"uncheked"}) 无效。

我怎样才能消除它?我应该坚持e -> e.name()吗?

改变

.map(Enum::name)

.map(E::name)