Typ der Typ der Referenz mit dem Wert null?

Laut:
http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html

4.5.2 Variablen von Referenztyp

Ein Referenz-Typ null Referenz.

Ist es möglich, zum abrufen der deklarierte Typ der Referenz-Typ, wenn der zugewiesene Wert ist null?

Insbesondere in einer Methode, die verwendet reflektion, möchte ich die Methode zur null-sicher und wirken auf den ursprünglichen deklarierten Typ (obwohl ich weiß, dass der folgende code-Schnipsel nicht funktioniert), zum Beispiel:

String referenceType = null;
MyReflectionClass.reflectionMethod(referenceType);
...
public static void reflectionMethod(Object referenceType) {
   Class<?> declaredType = referenceType.getClass();
}

Wäre ich nicht abgeneigt, um die Verwendung von Generika zu haben, geben T statt Object als den deklarierten Parametertyp, falls erforderlich.

Edit: ich weiß, dass .getClass() arbeitet auf der Instanz, nicht der deklarierte Typ. Ich Frage mich, ob es möglich war, die Fragen zu Referenz für es deklarierten Typ. Da Klassenhierarchien statisch sind, sollte es kein problem sein, diese information zu bekommen.

Edit2: Hier, die situation ist klar: Ist Java "pass-by-reference" oder "pass-by-value"?

Java ist nur pass-by-value, auch wenn ein Referenz-Typ verwendet wird, ist es immer behandelt, als wenn der Wert (Objekt-Instanz) übergeben wird (auch wenn das Innenleben nur ein Zeiger auf ein Objekt). Dies bedeutet, dass Java nicht wirklich ein Referenz-Typ, kennt Ihr Typ (zumindest so weit wie der Programmierer ist besorgt), es ist alles in der Wert-Instanzen.

Daher ist es unmöglich zu bestimmen, die Art der null Wert.

  • Nein, das ist unmöglich.
  • Es ist falsch zu sagen, dass die Objekt-Instanz als Wert übergeben. Was passiert, ist, dass die Referenz wird als Wert übergeben.
  • Aber Java verarbeitet keine Referenz (call), um die Referenz als Wert. Wenn dies nicht der Fall war, dann wird ein null-Objekt wäre hier noch eine Referenz auf ein Objekt. Es ist nicht. java.sun.com/docs/books/jls/third_edition/html/... Staaten "Die Referenz-Werte (oft nur Verweise) sind Zeiger auf diese Objekte, und eine spezielle null-Verweis, der sich auf kein Objekt." Artikel javadude.com/articles/passbyvalue.htm in dem verlinkten stackoverflow-Frage erklärt das sehr gut.
InformationsquelleAutor Alan Escreet | 2011-04-19
Schreibe einen Kommentar