Type type = new TypeToken<List<String>>() {}.getType();
Bitte teilen Sie mir den Code oben in "{}" Was bedeutet das?Wie zu verstehen "{}" Zeichen in unter Code?
Type type = new TypeToken<List<String>>() {}.getType();
Bitte teilen Sie mir den Code oben in "{}" Was bedeutet das?Wie zu verstehen "{}" Zeichen in unter Code?
Es bedeutet leere Klassenkörper des erstellten TypeToken.
Sie erstellen eine neue Implementierung (wenn TypeToken
eine Schnittstelle ist) oder eine Erweiterung (wenn TypeToken
eine Klasse ist) inline. In Ihrem Fall ist der Klassenkörper leer, also {}
. Dieses Konzept ist bekannt als anonyme innere Klasse.
TypeToken ist eine Klasse und erstellt nur eine anonyme Unterklasse von TypeToken
Klasse und ruft getType()
Methode aus dem Objekt in derselben Zeile auf. Sie können wie folgt es der Einfachheit halber aufgeteilt,
TypeToken<List<String>> typeList = new TypeToken<List<String>>(){};
Type type = typeList.getType();
Werfen Sie einen Blick here, wenn Sie noch nicht kennen erklärt anonymen Klassen sind.
Vielen Dank. – Lechance
@Lechance Ich empfehle [eine hilfreiche Antwort zu akzeptieren.] (Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –
ist eine abstrakte Klasse (wird nur als abstrakt deklariert, erfordert jedoch keine Methoden) und Sie erben es mit Ihrer anonymen Klasse. Von TypeToken javadocs:
-Capture ein generischer Typ mit einer (meist anonym) Unterklasse und lösen es gegen einen Kontext-Klasse, der Parameter
haben Sie in der Dokumentation weiß, was sind? –