欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java.lang.Void 與 void的比較及使用方法介紹

 更新時間:2017年10月11日 08:44:40   作者:FserSuN  
這篇文章主要介紹了java.lang.Void 與 void的比較及使用方法介紹,小編覺得挺不錯的,這里給大家分享一下,需要的朋友可以參考。

void不是函數(shù),是方法的修飾符,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作為函數(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)后,某些場景下會用到Void類型。例如Future<T>用來保存結(jié)果。Future的get方法會返回結(jié)果(類型為T)。

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

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

參考:

java.lava.Void與void的比較 ,

http://stackoverflow.com/questions/10839042/what-is-the-difference-between-java-lang-void-and-void

如何判斷函數(shù)返回void,

http://stackoverflow.com/questions/1924253/how-to-determine-by-reflection-if-a-method-returns-void

總結(jié)

以上就是本文關(guān)于java.lang.Void 與 void的比較及使用方法介紹的全部內(nèi)容,如果您想了解更多關(guān)于 java.lang.Void的內(nèi)容,這里有一篇《java.lang.Void類源碼解析》是非常合適的,希望對您有所幫助。感興趣的朋友可以參閱:Java AtomicInteger類的使用方法詳解、淺談Java回收對象的標(biāo)記和對象的二次標(biāo)記過程等,有什么問題可以隨時留言,大家一起交流討論。

相關(guān)文章

  • SWT(JFace)體驗之Sash(活動控件)

    SWT(JFace)體驗之Sash(活動控件)

    SWT(JFace)體驗之Sash(活動控件)
    2009-06-06
  • 使用kafka-console-consumer.sh不停報WARN的問題及解決

    使用kafka-console-consumer.sh不停報WARN的問題及解決

    這篇文章主要介紹了使用kafka-console-consumer.sh不停報WARN的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 史上最全圖文講解Java泛型

    史上最全圖文講解Java泛型

    泛型在java中有很重要的地位,在面向?qū)ο缶幊碳案鞣N設(shè)計模式中有非常廣泛的應(yīng)用,下面這篇文章主要給大家介紹了Java泛型的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • java使用Validation進行數(shù)據(jù)校驗的方式總結(jié)

    java使用Validation進行數(shù)據(jù)校驗的方式總結(jié)

    在Java中提供了一系列的校驗方式,下面這篇文章主要給大家介紹了關(guān)于java使用Validation進行數(shù)據(jù)校驗的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 詳解Java編程中面向字符的輸出流

    詳解Java編程中面向字符的輸出流

    這篇文章主要介紹了Java編程中面向字符的輸出流,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • Java開發(fā)實例之圖書管理系統(tǒng)的實現(xiàn)

    Java開發(fā)實例之圖書管理系統(tǒng)的實現(xiàn)

    圖書管理的功能大體包括:增加書籍、借閱書籍、刪除書籍、查看書籍列表、退出系統(tǒng)、查找書籍、返還書籍這些,本文主要給大家介紹該系統(tǒng)的數(shù)據(jù)庫語句,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Springboot集成RabbitMQ報錯及解決

    Springboot集成RabbitMQ報錯及解決

    這篇文章主要介紹了Springboot集成RabbitMQ報錯及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java線程通信之wait-notify通信方式詳解

    Java線程通信之wait-notify通信方式詳解

    這篇文章主要為大家詳細介紹了Java線程通信之wait-notify通信方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 項目為什么引入log4j而不是logback代碼

    項目為什么引入log4j而不是logback代碼

    這篇文章主要介紹了項目為什么引入log4j而不是logback代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Java實現(xiàn)AOP功能的封裝與配置的小框架實例代碼

    Java實現(xiàn)AOP功能的封裝與配置的小框架實例代碼

    這篇文章主要介紹了Java實現(xiàn)AOP功能的封裝與配置的小框架實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02

最新評論