java void void_java.lang.Void 与 void的比较及使用方法介绍

void不是函数,是方法的修饰符,void的意思是该方法没有返回值,意思就是方法只会运行方法中的语句,但是不返回任何东西。

java.lang.Void是一种类型。例如给Void引用赋值null。

Void nil = null;

通过Void类的代码可以看到,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 TYPE = (Class) 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());

}

}

}

}

泛型出现后,某些场景下会用到Void类型。例如Future用来保存结果。Future的get方法会返回结果(类型为T)。

但如果操作并没有返回值呢?这种情况下就可以用Future表示。当调用get后结果计算完毕则返回后将会返回null。

另外Void也用于无值的Map中,例如Map这样map将具Set有一样的功能。

因此当你使用泛型时函数并不需要返回结果或某个对象不需要值时候这是可以使用java.lang.Void类型表示。

参考:

java.lava.Void与void的比较 ,

如何判断函数返回void,

总结

以上就是本文关于java.lang.Void 与 void的比较及使用方法介绍的全部内容,如果您想了解更多关于 java.lang.Void的内容,这里有一篇《java.lang.Void类源码解析》是非常合适的,希望对您有所帮助。感兴趣的朋友可以参阅:Java AtomicInteger类的使用方法详解、浅谈Java回收对象的标记和对象的二次标记过程等,有什么问题可以随时留言,大家一起交流讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值