List<Void> 的用途是什么?
我甚至不知道这是可行的,但我在网上阅读一些代码时看到了一个带有如下签名的方法:
public List<Void> read( ... )
...什么?这样做有什么理由吗?这还能维持什么呢?据我所知,无法实例化对象。List
Void
我甚至不知道这是可行的,但我在网上阅读一些代码时看到了一个带有如下签名的方法:
public List<Void> read( ... )
...什么?这样做有什么理由吗?这还能维持什么呢?据我所知,无法实例化对象。List
Void
此方法签名可能是作为某个泛型类的副产品创建的。
例如,具有两个类型参数,一个用于最终结果,另一个用于中间结果。如果您只是不想使用任何中间结果,则可以作为类型参数传递,从而导致某些方法返回 - 即什么都没有。SwingWorker
Void
Void
如果有一个方法作为类型参数,它将创建一个方法,就像您在问题中发布的那样。List<V> returnAllIntermediateResults()
SwingWorker
Void
V
代码将是完全有效的。您可以使用类型参数 实例化接口的任何实现(例如 )。但是,类型可以具有的唯一值是 。因此,如果实现允许元素,则列表不能包含除 s 之外的任何其他内容。List
ArrayList
Void
Void
null
null
null
它可能有用的一种情况是,如果要从函数返回返回值的集合。说
static List<T> forEach(Func<A,T> func, List<A> items) {
List<T> ret = new List<T>();
for(int i = 0; i< items.length; i++) {
ret.add(func.call(items[i]);
}
return ret;
}
public static void main() {
...
List<Void> boringResult =
forEach(
new Func<Void, Integer> {@override Void call(Integer i) {...}});
}
不是那么有用,但你可以看到一个需要它的情况。