Heim > Java > javaLernprogramm > Hauptteil

Vergleich der Verwendungsmethoden von java.lang.Void und void

黄舟
Freigeben: 2017-10-11 09:40:01
Original
1689 Leute haben es durchsucht

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;
Nach dem Login kopieren

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() {}
}
Nach dem Login kopieren

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;
 }
Nach dem Login kopieren

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 Login kopieren

Nach dem Aufkommen von Generika wird der Void-Typ in bestimmten Szenarien verwendet. Zum Speichern der Ergebnisse wird beispielsweise Future 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 Future 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. Map. Auf diese Weise hat die Map die gleiche Funktion wie Set.

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage