Estaba leyendo algunos ejemplos de JMockit y encontré este código:
final List<OrderItem> actualItems = new ArrayList<~>();
¿Qué significa la tilde en el identificador genérico? Sé que es el operador NOT bit a bit unario, pero no veo un operando aquí.
Además, intenté compilarlo y obtuve un error. ¿Me estoy perdiendo algo?

Si no hubiera una tilde, diría que el código ya era Java 7. Java 7 permite al operador de diamantes, por lo que este es / será un código Java legal:
(pero - no tilde con esta sintaxis)
fuente
En IntelliJ IDEA, el
~aquí:significa
String, que es lo mismo que en la declaración en el lado izquierdo.fuente
Creo que es una forma abreviada de significar cualquiera que sea el tipo, en este caso OrderItem .
fuente