¿Es una array un tipo primitivo o un objeto en Java?

Una array en Java es un objeto . Ahora la pregunta ¿cómo es esto posible? ¿Cuál es la razón detrás de eso? En Java, podemos crear arrays usando el operador nuevo y sabemos que cada objeto se crea usando el operador nuevo. Por lo tanto, podemos decir que la array también es un objeto. Ahora también surge la pregunta, cada vez que creamos un objeto para una clase, ¿cuál es la clase de array?

  • En Java, hay una clase para cada tipo de array, por lo que hay una clase para int[] y, de manera similar, para float, double, etc.
  • La superclase directa de un tipo de array es Object. Cada tipo de array implementa las interfaces Cloneable y java.io.Serializable.
  • En el lenguaje de programación Java, las arrays son objetos ( §4.3.1 ), se crean dinámicamente y pueden asignarse a variables de tipo Objeto (§4.3.2). Todos los métodos de la clase Object pueden invocarse en una array.

Para cada tipo de array, las clases correspondientes están disponibles y estas clases son parte del lenguaje Java y no están disponibles para el nivel de programador. Para conocer la clase de cualquier array, podemos ir con el siguiente enfoque:

// Here x is the name of the array.
System.out.println(x.getClass().getName()); 
// Java program to display class of 
// int array type
public class Test
{
    public static void main(String[] args)
    {
        int[] x = new int[3];
        System.out.println(x.getClass().getName());
    }
}

Producción:

[I 

NOTA: [I esta es la clase para esta array, uno [ (corchete) porque es unidimensional y I para el tipo de datos enteros.
Aquí está la tabla que especifica el nombre de clase correspondiente para algunos tipos de array: –

Array type             Corresponding class Name
int[]                     [I
int[][]                   [[I
double[]                  [D
double[][]                [[D
short[]                   [S
byte[]                    [B
boolean[]                 [Z

En el lenguaje de programación Java, las arrays son objetos que se crean dinámicamente y se pueden asignar a variables de tipo Objeto. Todos los métodos de la clase Object pueden invocarse en una array.

// Java program to check the class of 
// int array type
public class Test {
    public static void main(String[] args)
    {
        // Object is the parent class of all classes 
        // of Java. Here args is the object of String
        // class.
        System.out.println(args instanceof Object);
  
        int[] arr = new int[2];
  
        // Here arr is also an object of int class.
        System.out.println(arr instanceof Object);
    }
}

Producción:

true
true

Referencia: https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html

Este artículo es una contribución de Bishal Kumar Dubey . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *