Domanda

Stavo leggendo alcuni esempi JMockit e ho trovato questo codice:

final List<OrderItem> actualItems = new ArrayList<~>();

Cosa significa il tilde nell'identificatore generico? So che non è un operatore unario non operatore, ma non vedo un operando qui.

Inoltre, ho provato a compilarlo e ho ricevuto un errore. Mi manca solo qualcosa?

È stato utile?

Soluzione

È solo una scorciatoia per "lo stesso della dichiarazione".

Alcuni ides, ad esempio, Intellij usano anche questo.

I file sul disco non hanno questa notazione, che è solo una compattazione nella GUI IDE.

Altri suggerimenti

Se non ci fosse un tilde, direi che il codice era già Java 7. Java 7 consente all'operatore di diamanti Quindi questo è/sarà il codice Java legale:

Map<String, List<String>> map = new HashMap<>();

(ma - nessuna tilde con questa sintassi)

In Idea Intellij, il ~ qui:

Set<String> associations = new LinkedHashSet<~>();

significa String, che è lo stesso della dichiarazione sul lato sinistro.

Penso che sia stenografia significare qualunque sia il tipo, in questo caso OrderItem.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top