溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java.lang.Void與void怎么用

發(fā)布時(shí)間:2021-08-09 10:30:39 來(lái)源:億速云 閱讀:223 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了java.lang.Void與void怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

void不是函數(shù),是方法的修飾符,void的意思是該方法沒(méi)有返回值,意思就是方法只會(huì)運(yùn)行方法中的語(yǔ)句,但是不返回任何東西。

java.lang.Void是一種類型。例如給Void引用賦值null。

Void nil = null;

通過(guò)Void類的代碼可以看到,Void類型不可以繼承與實(shí)例化。

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作為函數(shù)的返回結(jié)果表示函數(shù)返回null(除了null不能返回其它類型)。
 

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

在泛型出現(xiàn)之前,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());
      }
    }
  }
}

泛型出現(xiàn)后,某些場(chǎng)景下會(huì)用到Void類型。例如Future<T>用來(lái)保存結(jié)果。Future的get方法會(huì)返回結(jié)果(類型為T(mén))。

但如果操作并沒(méi)有返回值呢?這種情況下就可以用Future<Void>表示。當(dāng)調(diào)用get后結(jié)果計(jì)算完畢則返回后將會(huì)返回null。
另外Void也用于無(wú)值的Map中,例如Map<T,Void>這樣map將具Set<T>有一樣的功能。

因此當(dāng)你使用泛型時(shí)函數(shù)并不需要返回結(jié)果或某個(gè)對(duì)象不需要值時(shí)候這是可以使用java.lang.Void類型表示。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java.lang.Void與void怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI