Sto cercando di istanziare
LinkedList<?> op = new LinkedList<?>();
Ma ottengo errore
Cannot instantiate the type LinkedList<?>
Perché non è possibile creare un'istanza in Java?
Sto cercando di istanziare
LinkedList<?> op = new LinkedList<?>();
Ma ottengo errore
Cannot instantiate the type LinkedList<?>
Perché non è possibile creare un'istanza in Java?
Se non sai quale tipo di oggetto sarà all'interno dell'elenco, perché stai usando i farmaci generici? <?>
significa I don't know
( <? extends Object>
).
È passato molto tempo da quando ho programmato in Java, ma la mia comprensione è che i generici di caratteri jolly sono fatti per abbinare qualcosa, ad es. quando si dichiara un parametro del metodo, è possibile utilizzare un carattere jolly in modo che possano essere passati a generici diversi. Inoltre, una variabile può utilizzare un carattere jolly per accettare tipi generici diversi.
Tuttavia, quando si crea un'istanza, è necessario fornire un tipo specifico. Il carattere jolly non ha alcun senso lì.
Ecco perché
List<?> list = new LinkedList();
List<?> list = new LinkedList<Object>();
List<?> list = new LinkedList<MyObject>();
Sono tutti possibili ma
List<?> list = new LinkedList<?>();
non è.