我的方法看起来像这样。
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()
吗?
答案 0 :(得分:1)
更改
.map(Enum::name)
要
.map(E::name)