Vone类型的对象与Java泛型中的无界通配符类型有什么区别?我的意思是我理解<?>的使用,以及在反射方面使用Void,但当我看到Java源代码时,我有点好奇
java.util.concurrent.AbstractExecutorService
Run Code Online (Sandbox Code Playgroud)
和它的方法
public Future<?> submit(Runnable task) {
...
RunnableFuture<Void> ftask = new TaskFor(task, null);
...
return ftask;
Run Code Online (Sandbox Code Playgroud)
在方法内部,它使用RunnableFuture <Void>而不是RunnableFuture <?>
有人能帮我理解这背后的原因吗?谢谢