备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 HaC的技术专栏 Java的java.lang.Void和void的区别
2 0

海报分享

Java的java.lang.Void和void的区别

  1. void是关键字,表示函数返回没有结果。
  2. java.lang.Void是一种类型,可以引用赋值
Void a = null;

Void源码:

public final
class Void {
     * The {@code Class} object representing the pseudo-type corresponding to
     * the keyword {@code void}.
    @SuppressWarnings("unchecked")
    public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");
     * The Void class cannot be instantiated.
    private Void() {}
}

Void作为函数的返回结果表示函数返回null(除了null不能返回其它类型)。

 Void function(int a, int b) {
    //do something
    return null;
 }

在泛型出现之前,Void一般用于反射之中。例如,下面的代码打印返回类型为void的方法名。

public class Test {
    public void print(String v) {}
    public static void main(String args[]){
        for(Method method : Test.class.getMethods()) {
            if(method.getReturnType().equals(Void.TYPE)) {
                System.out.println(method.getName());
}
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客: https://blog.csdn.net/yudianxiaoxiao 复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。