<T>
è una classe di parametri. Non esiste una classe denominata T
. È possibile utilizzare questo metodo con qualsiasi classe specificata tramite il secondo argomento del metodo denominato type
.
dal metodo viene definito come segue:
public <T> T readObjectData(ByteBuffer buffer, Class<T> type)
Si può chiamare come scritto qui sotto:
MyClass obj = o.readObjectData(buffer, MyClass.class);
Si prega di prestare attenzione che non c'è bisogno di lanciare valore di ritorno di readOjectData()
a MyClass
.Un tempo, prima di Java 5 questo metodo verrà definito come:
public Object readObjectData(ByteBuffer)
e il suo utilizzo assomigliava:
MyClass obj = (MyClass)o.readObjectData(buffer);
Da colata può causare ClassCastException
questa è una cattiva pratica. Questa era una ragione per l'invenzione dei generici.