java.lang.Void和void的使用方法比较
程序员文章站
2022-03-31 16:03:52
...
这篇文章主要介绍了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<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()); } } } }
泛型出现后,某些场景下会用到Void类型。例如Future<T>用来保存结果。Future的get方法会返回结果(类型为T)。
但如果操作并没有返回值呢?这种情况下就可以用Future<Void>表示。当调用get后结果计算完毕则返回后将会返回null。
另外Void也用于无值的Map中,例如Map<T,Void>这样map将具Set<T>有一样的功能。
因此当你使用泛型时函数并不需要返回结果或某个对象不需要值时候这是可以使用java.lang.Void类型表示。
总结
以上就是java.lang.Void和void的使用方法比较的详细内容,更多请关注其它相关文章!
上一篇: abap与java有什么区别
下一篇: 有关绑定机制的文章推荐7篇
推荐阅读
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
indexOf 和 lastIndexOf 的使用方法
-
PHP中try{}和catch{}的具体使用方法
-
java序列化和serialVersionUID的使用方法实例
-
PHP中抽象类和接口的使用方法(代码)
-
ASP.NET中日历控件和JS版日历控件的使用方法(第5节)
-
浅谈DetachedCriteria和Criteria的使用方法(必看)
-
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
-
2016 cocoapods的安装和使用方法以及版本升级遇到的问题
-
ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法