Pregunta

Estaba leyendo algunos ejemplos de JMockit y encontré este código:

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

¿Qué significa el Tilde en el identificador genérico? Sé que es el operador unario de bit a bit no, pero no veo un operando aquí.

Además, intenté compilarlo y recibí un error. ¿Me estoy perdiendo algo?

¿Fue útil?

Solución

Es solo una taquigrafía para "igual que en la declaración".

Algunos ides, por ejemplo, IntelliJ usan esto también.

Los archivos en el disco no tienen esta notación, que es solo una compactación en la GUI IDE.

Otros consejos

Si no hubiera un Tilde, diría que el código ya era Java 7. Java 7 permite al operador de diamantes Entonces este es/será el código Java legal:

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

(Pero, no Tilde con esta sintaxis)

En la idea de IntelliJ, el ~ aquí:

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

medio String, que es lo mismo que en la declaración en el lado izquierdo.

Creo que eso es taquigrafía para significar que sea el tipo, en este caso Articulo ordenado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top