Cuando se especifica los tipos genéricos para las colecciones necesarias?

Jhud:

Las siguientes líneas de código cada compilación (en métodos separados, por supuesto):

List<String> list = new ArrayList<String>();
List<String> list = new ArrayList<>();
List<String> list = new ArrayList();

Es uno de estos anima sobre los demás? ¿Hay diferencias en el comportamiento entre estas opciones?

Vinay Prajâpati:

<> se llama operador de diamante y se determina el tipo de referencia de la declaración de variables.

Recommended is using diamond operator ya que esto evita repetitivo o declaración de variable de tipo duplicado, ya que es claramente visible desde la Declaración de la variable al tiempo que permite un tipo de defecto de tipo de clase de objeto si no se especifica.

Los tres anteriores son válidos salvo List<String> list = new ArrayList();dando una advertencia o, simplemente, no se considera una buena práctica.

mis pensamientos: List<String> list = new ArrayList(); también podría haber sido una declaración válida desde ese punto de vista, pero por defecto en la lista de matriz de tipo de objeto (Así es como Java es). Precisamente:

Si no se especifica un tipo, el valor predeterminado es el tipo de objetos

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=335090&siteId=1
Recomendado
Clasificación