È confuso perché la dichiarazione di tipo e l'utilizzo utilizzano entrambi la sintassi <T>
. Penso che ci siano solo 2 posti in cui è possibile dichiarare nuovi tipi generici in Java:
1. Nella definizione di una classe o interfaccia
class MyClass<T> ...
// ^^^- Type declaration
interface MyInterface<T,U> ...
// ^^^^^- Declaring 2 types
2. Prima di un metodo statico
// The declared type must then be used as a parameter of that method...
static <T> void foo(T t...
// ^^^
// or as the return type:
static <T> T foo(...
// ^^^
È vero? Sto usando le parole giuste? Devo dire "introdurre" una variabile di tipo invece di "dichiarare?" Cose come la seguente affermazione mi preoccupano:
It is possible for a constructor to be generic independently of whether the class the constructor is declared in is itself generic.
Fonte: Specifica del linguaggio Java 8.8.4. Costruttori generici
Sto provando a scrivere i limiti di generici Java , ma ho appena iniziato.