【漫谈】 Java 中的 Void 和 void

本文详细解析了Java中void关键字与Void类的区别,包括它们的特性、使用场景及注意事项,帮助开发者理解基本数据类型与封装类型之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 中,大家对 void 应该是相当熟悉了。它表示“空”,所有无返回值的方法都使用它表示返回类型。

public static void main(String[] args) {
	// ...
}

void 是一种基本数据类型。
而 Void 是 void 封装类型,API 上称其为“占位符(placeholder)”。
看起来,Void 之于 void 类似于 Integer 之于 int。但并非如此,Void 比较特别:

  • 它不可实例化
  • 它没有内置的类型实例,也没有可用的字面值

声明一个 Void 变量通常是没有什么意义的,因为没有可为其赋值的实例,注意不能用 void 为其赋值(void 是类型而不是值)。
Void 变量唯一能持有的是 null。

Void 一个可用的地方是反射判断方法的返回值时,比如:

if(m.getReturnType().equals(Void.TYPE)) {
	// 处理返回值为 void 的方法
}

但也不是必需使用Void.TYPE,也可以用void.class

另外的使用场景一般都和泛型相关,可以参考这里的相关说明。通常也只是提高了代码的可读性。

总结来说,几乎很少会用到 Void 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值