valueof type enum data complex java enumeration

java - type - ¿Por qué la coma(,) no causa un error de compilación?



java enum string (3)

El lenguaje se diseñó de esta manera para que sea fácil agregar y reordenar elementos, especialmente si cada uno está en una línea por sí solo.

La comparación con las variables de declaración no es buena, pero las matrices permiten más valores de la misma manera:

int[] foo = { 1, 2, 3, };

Básicamente, agregar valores adicionales a una colección definida en el código fuente es bastante más común que querer agregar una variable a una declaración.

Estoy escribiendo un código que, de repente, veo que "," no causa ningún error de compilación. Por qué ?

Lo que quiero decir

public enum A { B, C, ; // no compilation error }

pero

int a, b, ; // compilation error


Las principales ventajas son que hace que las listas de varias líneas sean más fáciles de editar y que reduce el desorden en las diferencias.

Cambiando:

public enum Names{ MANNY, MO, JACK, }

a:

public enum Names{ MANNY, MO, JACK, ROGER, }

implica solo un cambio de una línea en el diff:

public enum Names{ MANNY, MO, JACK, + ROGER, }

Esto es mejor que la diferencia multilínea más confusa cuando se omite la coma final:

public enum Names { MANNY, MO, - JACK + JACK, + ROGER }

La última diferencia hace que sea más difícil ver que solo se agregó una línea y que la otra línea no cambió el contenido.

Basado en la respuesta de Raymond: https://.com/a/11597911/5111897