小编典典

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

java

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

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

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

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

我也试过Void.classvoidVoid.TYPEnew Void(),没有回报可言,但都不会在所有的工作。(出于或多或少明显的原因)

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

阅读 712

收藏
2020-09-28

共1个答案

小编典典

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

使用return nullVoid无法实例化,仅是的Class<T>类型的占位符void

有什么意义Void

如上所述,它是一个占位符。Void例如,如果您使用反射来查看返回类型为的方法,则会得到的回报void。(从技术上讲,您会回来的Class<Void>。)沿着这些思路,它还有其他多种用途,例如您想参数化一个Callable<T>

由于在Java中使用了泛型,我最终不得不实现此功能

我想说的是,如果您需要使用此签名来实现方法,则API可能有些奇怪。请仔细考虑是否有更好的方法来做您想要的事情(也许您可以在其他后续问题中提供更多详细信息?)。我有点怀疑,因为这只是“由于使用泛型”而引起的。

2020-09-28