我使用的是JDK8,javac 1.8.0_05
我有这样的界面:
public interface NumberHolder<N extends Number> {
Optional<String> getNumberName();
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,NumericHolder方法getNumberName()返回的所有子类型Optional<String>.
但是......当我尝试访问它时:
NumberHolder numberHolder = null;
Optional<String> optional = numberHolder.getNumberName(); // warning is here
Run Code Online (Sandbox Code Playgroud)
编译器说:
warning: [unchecked] unchecked conversion
Optional<String> optional = numberHolder.getNumberName();
Run Code Online (Sandbox Code Playgroud)
但getNumberName()总是Optional<String>这样,为什么提出这个警告呢?
有人可以解释一下吗?