Heim >Java >javaLernprogramm >Vergleich der Verwendungsmethoden von java.lang.Void und void
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!