首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java的java.lang.Void和void的区别

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

作者头像
HaC
发布于 2020-12-30 17:46:34
发布于 2020-12-30 17:46:34
1.4K0
举报
文章被收录于专栏:HaC的技术专栏HaC的技术专栏
  1. void是关键字,表示函数返回没有结果。
  2. java.lang.Void是一种类型,可以引用赋值
代码语言:javascript
复制
Void a = null;

Void源码:

代码语言:javascript
复制
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不能返回其它类型)。

代码语言:javascript
复制
 Void function(int a, int b) {
    //do something
    return null;
 }

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

代码语言:javascript
复制
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());
            }
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档