Rumah > Java > javaTutorial > teks badan

java.lang.Void和void的使用方法比较

黄舟
Lepaskan: 2017-10-11 09:40:01
asal
1689 orang telah melayarinya

这篇文章主要介绍了java.lang.Void 与 void的比较及使用方法介绍,小编觉得挺不错的,这里给大家分享一下,需要的朋友可以参考。

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

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


Void nil = null;
Salin selepas log masuk

通过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() {}
}
Salin selepas log masuk

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


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

在泛型出现之前,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());
      }
    }
  }
}
Salin selepas log masuk

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

但如果操作并没有返回值呢?这种情况下就可以用Future表示。当调用get后结果计算完毕则返回后将会返回null。
另外Void也用于无值的Map中,例如Map这样map将具Set有一样的功能。

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

总结

Atas ialah kandungan terperinci java.lang.Void和void的使用方法比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan