以下是来自java.util.concurrent.ScheduledExecutorService的方法:
/**
* Creates and executes a ScheduledFuture that becomes enabled after the
* given delay.
*
* @param callable the function to execute
* @param delay the time from now to delay execution
* @param unit the time unit of the delay parameter
* @return a ScheduledFuture that can be used to extract result or cancel
* @throws RejectedExecutionException if the task cannot be
* scheduled for execution
* @throws NullPointerException if callable is null
*/
public <V> ScheduledFuture<V> schedule(Callable<V> callable,
long delay, TimeUnit unit);
为什么有<V> ScheduledFuture<V>
?
这首先看一下方法上的两种返回类型。所以,如果V是,那么我们说布尔值,我们提供Callable<Boolean>
作为第一个参数,该方法的返回类型是什么?它是布尔值,ScheduledFuture<Boolean>
还是别的什么?
请有人为我打开包装。
答案 0 :(得分:3)
为什么有
<V> ScheduledFuture<V>
?
因为它是类型参数和返回类型。
<V>
部分不是返回类型,它只是说&#34;这是一个带有单个类型参数V
的通用方法。&#34;
所以我们有:
public // Access modifier
<V> // Type parameter
ScheduledFuture<V> // Return type
schedule // Method name
(Callable<V> callable, long delay, TimeUnit unit) // Parameters