Heim  >  Artikel  >  Java  >  Vergleich der Verwendungsmethoden von java.lang.Void und void

Vergleich der Verwendungsmethoden von java.lang.Void und void

黄舟
黄舟Original
2017-10-11 09:40:011635Durchsuche

Dieser Artikel stellt hauptsächlich den Vergleich und die Verwendung von java.lang.Void und void vor. Der Herausgeber findet es ziemlich gut. Freunde, die es brauchen, können darauf verweisen.

void ist keine Funktion, sondern ein Modifikator einer Methode. Void bedeutet, dass die Methode keinen Rückgabewert hat, was bedeutet, dass die Methode nur die Anweisungen in der Methode ausführt, aber nichts zurückgibt.

java.lang.Void ist ein Typ. Weisen Sie beispielsweise einer Void-Referenz null zu.


Void nil = null;

Wie Sie dem Code der Void-Klasse entnehmen können, kann der Void-Typ nicht vererbt und instanziiert werden.


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 als Rückgabeergebnis der Funktion bedeutet, dass die Funktion null zurückgibt (andere Typen außer null können nicht zurückgegeben werden).


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

Vor dem Aufkommen von Generika wurde Void im Allgemeinen zur Reflexion verwendet. Der folgende Code gibt beispielsweise den Namen einer Methode mit dem Rückgabetyp void aus.


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());
      }
    }
  }
}

Nach dem Aufkommen von Generika wird der Void-Typ in bestimmten Szenarien verwendet. Zum Speichern der Ergebnisse wird beispielsweise Future8742468051c85b06f0a0af9e3e506b5c verwendet. Die get-Methode von Future gibt das Ergebnis zurück (Typ T).

Was aber, wenn die Operation keinen Wert zurückgibt? In diesem Fall kann es durch Future903bf37051cf83cbd9686768ac0189ae dargestellt werden. Wenn get aufgerufen und das Ergebnis berechnet wird, wird null zurückgegeben.
Darüber hinaus wird Void auch in Maps ohne Wert verwendet, z. B. Mapbd1f348043883594477738d6b6495f86. Auf diese Weise hat die Map die gleiche Funktion wie Set8742468051c85b06f0a0af9e3e506b5c.

Wenn Sie also Generika verwenden, muss die Funktion kein Ergebnis zurückgeben, oder wenn ein Objekt keinen Wert benötigt, kann es durch den Typ java.lang.Void dargestellt werden.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonVergleich der Verwendungsmethoden von java.lang.Void und void. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn