Deseamos compartir contigo la mejor solución que hallamos en todo internet. Nosotros queremos que te resulte de mucha utilidad y si quieres comentarnos algo que nos pueda ayudar a mejorar siente la libertad de hacerlo..
Solución:
Puedes usar if (Average == null)
para comprobar si es nullpero no puede saber si se estableció explícitamente en null o solo null por defecto. Esto funciona para todos los tipos de objetos (las matrices también son objetos), porque el valor predeterminado de los objetos es null. Sin embargo, los 8 tipos primitivos (int, byte, float, char, long, short, double y boolean) no se pueden null. Por ejemplo, un int
es 0 por defecto si no le asignas un valor.
Las matrices en Java funcionan como objetos (no son tipos primitivos).
Así que sí, puedes comprobar si tu array fue inicializado o no con:
private void check()
if(average == null)
average = new float[4];
Una solución mejor (si conoce el array tamaño al instanciar)
Pero en mi opinión, será mejor que inicialice la variable en el constructor de su clase, como se muestra a continuación:
public class MyClass
private float[] average;
public MyClass(int arraySize)
this.average = new float[arraySize];
De esta manera, se asegurará de que se inicialice cada vez que se MyClass
se crea el objeto.
Una solución aún mejor (incluso si no conoce el array tamaño al instanciar)
Si no sabes el tamaño de la arraymejor uso un List
:
public class MyClass
private List average;
public MyClass()
this.average = new ArrayList<>();
Las listas se redimensionan automáticamente a medida que se llenan.
Si le preocupa la variable fuera de la definición de clase, debe verificar si hay null
O no.
null
indicará que la variable no está inicializada. En el caso de tipos primitivos, como int
, double
y similar, el compilador le notificará que la variable en particular no está inicializada.
En las clases, los campos se inicializan con valores predeterminados incluso antes de la ejecución del constructor.
Sección de Reseñas y Valoraciones
Te invitamos a añadir valor a nuestra información contribuyendo tu veteranía en las notas.