Leer un arreglo sin tomar en cuenta sus valores por defecto

Iniciado por Beginner Web, 25 Abril 2019, 05:40 AM

0 Miembros y 1 Visitante están viendo este tema.

W0lFy

#10
Si quieres utilizar arrays... yo haría esta solución... :)

int arreglo[] = new int[10];
       arreglo[0] = 5;
       arreglo[1] = 5;
       arreglo[2] = 5;
       arreglo[3] = 5;
       for (int i = 0; i < arreglo.length; i++) {
           if (arreglo[i] == null)
               break;
           System.out.println(String.valueOf(arreglo));
       }

K@NuT0

WHK

Y si el valor nulo está en el primer item?, le hará un break al for sin poder obtener los valores no nulos.

W0lFy

Cierto... colleja ;), aunque te parezca mentira mi profesión es programador ^^

int arreglo[] = new int[10];
       arreglo[0] = 5;
       arreglo[1] = 5;
       arreglo[2] = 5;
       arreglo[3] = 5;
       for (int i = 0; i < arreglo.length; i++) {
           if (arreglo[i] != null)
               System.out.println(String.valueOf(arreglo));
       }
K@NuT0

WHK

#13
Cuando trabajas con objetos primitivos no puedes establecerlo como nulo:

int arreglo[] = new int[10];

Cuando creas un array nativo de int todos los valores por defecto son 0, en cambio en un List<Integer> puedes tener valores nulos.

Ningún valor del array puede ser nulo porque no puedes cambiar el tipo, eso se llama ser "mutable", un objeto de java puede tener varios tipos, por ejemplo un "Integer" puede ser objeto de tipo int y null al mismo tiempo (por eso existen las anotaciones @Nullable y @NotNull), en cambio el primitivo no puede ser nulo o dará excepción, en Java da excepción de tipo y en c++ excepción de memoria a menos que lo establezcas a \0, pero no se recomienda para un tipo int.