List <Void>的目的是什么?

List <Void>的目的是什么?

我甚至不知道这是可行的,但是我在看到一些代码在线的时候看到一个像这样的签名的方法:

public List<Void> read( ... )

... 什么? 有没有理由这样做? 这份List甚至可以持有什么? 据我所知,不可能实例化一个Void对象。

采纳答案:

这种方法签名有可能被创建为一些通用类的副产品。

例如, SwingWorker有两个类型参数,一个用于最终结果,一个用于中间结果。 如果您不想使用任何中间结果,则将Void作为类型参数传递,从而导致某些方法返回Void - 即无。

如果在SwingWorker有一个方法List<V> returnAllIntermediateResults() ,使用Void作为类型参数V ,那么它将像您在问题中张贴一样创建一个方法。

代码将完全有效。 您可以使用参数Void实例化List接口(例如ArrayList )的任何实现。 但是Void类型可以具有的唯一值为null 。 因此,如果实现允许null元素,则该列表不能保留任何其他内容,但是为null

参考更多解答:List <Void>的目的是什么?,转载请保留List <Void>的目的是什么?

更多:generics