如果方法的返回类型为 Void,我该返回什么?(不是空的!

2022-08-31 09:01:19

由于在Java中使用了泛型,我最终不得不实现一个作为返回类型的函数:Void

public Void doSomething() {
    //...
}

编译器要求我返回一些东西。现在我只是回来,但我想知道这是否是好的编码实践......null

我问的是V oid,而不是v oid。类 ,而不是保留关键字 。Voidvoid

我也尝试过,,,,根本没有回头,但所有这些都不起作用。(出于或多或少明显的原因)(有关详细信息,请参阅此答案Void.classvoidVoid.TYPEnew Void()

  • 那么,如果函数的返回类型是,我应该返回什么?Void
  • 该类的一般用途是什么?Void

答案 1

那么,如果函数的返回类型必须是,我应该返回什么?Void

用。 无法实例化,只是 类型的占位符。return nullVoidClass<T>void

有什么意义?Void

如上所述,它是一个占位符。 是您将获得的,例如,如果您使用反射来查看返回类型为 .(从技术上讲,你会回来的。它沿着这些行还有其他各种用途,例如,如果要参数化 .VoidvoidClass<Void>Callable<T>

由于在Java中使用了泛型,我最终不得不实现这个函数。

我想说的是,如果你需要用这个签名实现一个方法,你的API可能会有些时髦。仔细考虑是否有更好的方法来做你想做的事情(也许你可以在不同的后续问题中提供更多细节?)。我有点怀疑,因为这只是“由于使用泛型”而出现的。


答案 2

没有办法实例化 Void,因此您唯一可以返回的是 null。