java怎么调用void方法 说说Java中java.lang.Void和void有什么作用和区别
来源:http://suo.im/5p28k2
Void关键字表示函数没有返回结果,是Java中的一个关键字。
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<T>用来保存结果。Future的get方法会返回结果(类型为T)。
但如果操作并没有返回值呢?这种情况下就可以用Future<Void>表示。当调用get后结果计算完毕则返回后将会返回null。
另外Void也用于无值的Map中,例如Map这样map将具Set<T>有一样的功能。
因此当你使用泛型时函数并不需要返回结果或某个对象不需要值时候这是可以使用java.lang.Void类型表示。
java.lava.Void与void的比较 ,http://stackoverflow.com/questions/10839042/what-is-the-difference-between-java-lang-void-and-void
如何判断函数返回void,http://stackoverflow.com/questions/1924253/how-to-determine-by-reflection-if-a-method-returns-void
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com