Si los elementos individuales de una matriz int no se inicializan, lo que se almacena en ellos de forma predeterminada? Yo al parecer se encuentra que hay algo así como un conjunto vacío o nulo de la matriz. ¿Cuál es la diferencia, y que se aplica a mi primera pregunta?

  • Usted puede tener una matriz de longitud cero — no contiene elementos. Usted puede tener un valor nulo de la matriz de referencia-la referencia es nula, lo que significa que ninguna de matriz de hecho existe. Usted puede tener una matriz con los elementos que se ajustan a null — este es el valor predeterminado para una matriz de referencias cuando se crea inicialmente.
InformationsquelleAutor | 2014-12-15

4 Comentarios

  1. 26

    Técnicamente hablando, no hay tal cosa como un nulo de la matriz de; pero puesto que las matrices son objetos, tipos de matriz son los tipos de referencia (es decir: matriz de variables acaba de celebrar referencias a las matrices), y esto significa que una variable de matriz puede ser null en lugar de lo que en realidad apunta a una matriz:

    int[] notAnArray = null;

    Un vacío matriz es una matriz de longitud cero; no tiene elementos:

    int[] emptyArray = new int[0];

    (y puede nunca tienen elementos, debido a una matriz de longitud nunca cambia después de que se ha creado).

    Cuando se crea un no-matriz vacía sin especificar los valores de sus elementos, que por defecto a cero-como valores — 0 para una matriz de enteros, null para una matriz de un tipo de objeto, etc.; así, este:

    int[] arrayOfThreeZeroes = new int[3];

    es el mismo que este:

    int[] arrayOfThreeZeroes = { 0, 0, 0 };

    (aunque estos valores pueden ser re-asignados después; la longitud de la matriz no se puede cambiar, pero sus elementos puede cambiar).

  2. 1

    Por defecto de java se inicializa la matriz de acuerdo con el tipo declarado. Es de tipo int, a continuación, se inicializa a 0. Si es de tipo objeto, como una matriz de objetos, se inicializa a null.

  3. 0

    Si los elementos individuales de una matriz int no se inicializan, lo que se almacena en ellos de forma predeterminada?

    0

    vacío de la matriz es la matriz con 0 elementos

    No he oído hablar de null array, pero es probablemente una matriz con distinta a cero el elemento de referencia que están null

  4. 0

    Una matriz que tiene los miembros de la inicializa a sus valores predeterminados. Para int el valor predeterminado es 0. Para un Object es null. Un null matriz es una null Referencia a un Array (puesto que las matrices son tipos de referencia en Java).

    JLS-4.12.5 Valores Iniciales de las Variables de dice en la parte

    De tipo int, el valor predeterminado es cero, es decir, 0.

    y

    Para todos los tipos de referencia (§4.3), el valor predeterminado es null.

    • Así que para una matriz de Cadena sería nulo, ¿correcto?
    • Correcto. Y para un Integer[], pero un double[] tendría el valor predeterminado 0 (por ser un tipo primitivo).
    • El índice 0 en int[] a = new int[0] no tiene nada que ver con los valores predeterminados
    • a = new int[1]; tiene un valor predeterminado en el índice 0. De hecho, cualquier matriz de longitud mayor que 0 tiene un valor predeterminado en el índice 0.

Dejar respuesta

Please enter your comment!
Please enter your name here