Void
1 | public final class Void { |
Void
类是一个不可实例化的占位符类,用于泛型,特别是当一个方法需要使用泛型但不返回任何有用值的时候。
它属于 java.lang
包,与小写的 void
关键字不同,后者是用于表示没有返回值的方法的返回类型。
Void
类的主要用途如下:
- 泛型中的应用:当需要在泛型中表达泛型的位置不需要具体的类型或方法不会返回有意义的值时,可以使用
Void
。例如,在使用回调或者异步编程模式(如 Java 的Callable<V>
或者FutureTask<V>
接口)时,如果某个任务执行完毕后并不需要返回结果,则可以用Void
作为泛型参数的类型。 - 反射机制:虽然不是直接相关,但在反射操作中,如果想要获取或检查返回类型为
void
的方法,可以使用Void.TYPE
来代表这个原始类型void
。
Void
类不能被实例化,因为它没有公开的构造函数。
通常情况下,null
是唯一有效的 Void
类型的实例引用,像下面这样,不会编译失败:
1 | Void voidObj = null; |
这是因为 Void
类的目的是为了在泛型中使用,而不是为了创建对象实例。通过这种方式,Void
提供了一种方式来标记那些本质上不打算持有任何特定数据类型的泛型结构。
1 | System.out.println(Void.TYPE); |
上面的代码输出如下:
1 | void |
相关链接
OB links
OB tags
#Java
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 z2huo!
评论