Arrays con comas finales dentro de un inicializador de matriz en Java

Los inicializadores de matriz se pueden usar para inicializar matrices en tiempo de comstackción. Un inicializador con comas finales como se muestra a continuación comstack bien.

int a[][] = {{1,2,} ,{3,4,} , {5,6,},}; //Trailing commas cause no compiler error for(int i=0;i<a.length;i++) { for(int j=0;j<2;j++) { System.out.print(a[i][j]+"\t"); } System.out.println(); } 

Salida:

 1 2 3 4 5 6 

También es legal con arreglos de una dimensión como obvio con la discusión anterior.

 int[] b = {1, 2, 3, 4, 5, 6,}; //A trailing comma causes no compiler error for(int i=0;i<b.length;i++) { System.out.print(b[i]+"\t"); } 

Salida:

 1 2 3 4 5 6 

Incluso lo siguiente es una syntax legal y comstack bien.

 int c[][] = {{,} ,{,} , {,},}; 

El comstackdor debe esperar un valor constante (u otro inicializador) después y antes de una coma,. ¿Cómo se comstack esto? ¿El comstackdor simplemente ignora tales comas o sucede algo más en tal escenario?

La coma final es ignorada. De la especificación de Java :

Una coma final puede aparecer después de la última expresión en un inicializador de matriz y se ignora.