2011-12-28 9 views
28

que tienen un poco de código:¿Qué significa <> para los genéricos de java?

class MyClass<RCM> 
    private List<RCM> allPreExistingConfigsForCodes() { 
    if(this.allCodesForThisType.size() == 0) 
     return new ArrayList<RCM>(0); 

IntelliJ me está diciendo que debería sustituir a new ArrayList<RCM> con new ArrayList<> ¿qué significaría eso?

+0

relacionados http://stackoverflow.com/questions/4166966/what-is-the-point-of-the -diamond-operator-in-java-7 – vikramvi

Respuesta

34

Desde el Java Tutorials generics lesson:

En Java SE 7 y versiones posteriores, puede reemplazar los argumentos de tipo necesarios para invocar el constructor de una clase genérica con un conjunto vacío de tipo argumentos (<>) siempre que el compilador pueda determinar o inferir los argumentos del tipo del contexto. Este par de escuadras angulares, <>, es informalmente llamado el diamante. Por ejemplo, puede crear una instancia de Box<Integer> con la siguiente afirmación:

Box<Integer> integerBox = new Box<>();

Cuestiones relacionadas