Datos interesantes sobre la asignación de arrays en Java

Requisito previo: Arrays en Java

Mientras trabajamos con arrays, tenemos que realizar 3 tareas, a saber, declaración, creación, inicialización o asignación.
Declaración de array:

int[] arr;

Creación de array:

// Here we create an array of size 3
int[] arr = new int[3];

Inicialización de array:

arr[0] = 1;
arr[1] = 2;
arr[3] = 3;

int intArray[];    // declaring array
intArray = new int[20];  // allocating memory to array

Algunos hechos importantes al asignar elementos a la array:

  1. Para tipos de datos primitivos: en el caso de arrays de tipo primitivo, como elementos de array podemos proporcionar cualquier tipo que pueda promoverse implícitamente a la array de tipo declarado . Aparte de eso, si estamos tratando de usar cualquier otro tipo de datos, obtendremos un error en tiempo de compilación que indica una posible pérdida de precisión.

    // Java program to illustrate the concept of array
    // element assignments on int type array
    public class Test {
    public static void main(String[] args)
        {
            int[] arr = new int[3];
            arr[0] = 1;
            arr[1] = 'a';
            byte b = 10;
            arr[2] = b;
            System.out.println(arr[0] + arr[1] + arr[2]);
        }
    }

    Producción:

    108
    

    // Java program to illustrate the concept of array
    // element assignments on int type array
    public class Test {
    public static void main(String[] args)
        {
            int[] arr = new int[3];
      
            // Assigning long value to int type.
            arr[0] = 10l;
            arr[1] = 'a';
            byte b = 10;
            arr[2] = b;
      
            System.out.println(arr[0] + arr[1] + arr[2]);
        }
    }

    Producción:

    possible loss of precision.
    

    // Java program to illustrate the concept of array
    // element assignments on char type array
    public class Test {
    public static void main(String[] args)
        {
            char[][] arr = new char[2][2];
      
            // Assigning long value to int type.
            arr[0][0] = 10l;
            arr[0][1] = 'a';
            char b = 10;
            arr[1][0] = b;
      
            // Assigning double value to char type
            arr[1][1] = 10.6;
        }
    }

    Producción:

    error: incompatible types: possible lossy conversion from long to char
    error: incompatible types: possible lossy conversion from double to char
    
  2. Arrays de tipo de objeto: si estamos creando arrays de tipo de objeto, los elementos de esa array pueden ser objetos de tipo declarado o pueden ser objetos de clase secundaria.

    // Java program to illustrate the concept of array
    // element assignments on Number type array
    public class Test {
    public static void main(String[] args)
        {
            Number[] num = new Number[2];
            num[0] = new Integer(10);
            num[1] = new Double(20.5);
            System.out.println(num[0]);
            System.out.println(num[1]);
        }
    }

    Producción:

    10
    20.5
    

    // Java program to illustrate the concept of array
    // element assignments on Number type array
    public class Test {
    public static void main(String[] args)
        {
            Number[] num = new Number[3];
            num[0] = new Integer(10);
            num[1] = new Double(20.5);
      
            // Here String is not the child class of Number class.
            num[2] = new String(“GFG”);
        }
    }

    Producción:

    Compile-time error(incompatible types)
    

    // Java program to illustrate the concept of array
    // element assignments on Number type array
    public class Test {
    public static void main(String[] args)
        {
            Number[][] arr = new Number[2][2];
            arr[0][0] = 10l;
      
            // Assigning char to Number type array
            arr[0][1] = 'a';
            byte b = 10;
            arr[1][0] = b;
      
            // Assigning String to Number type array
            arr[1][1] = "GEEKS";
        }
    }

    Producción:

    error: incompatible types: char cannot be converted to Number
    error: incompatible types: String cannot be converted to Number
    
  3. Array de tipo de interfaz: para la array de tipo de interfaz, podemos asignar elementos como sus objetos de clase de implementación.

    // Java program to illustrate the concept of array
    // element assignments on Interface type array
    public class Test {
    public static void main(String[] args)
        {
            Runnable[] run = new Runnable[2];
      
            // Thread class implements Runnable interface.
            run[0] = new Thread();
            run[1] = new Thread();
        }
    }

    // Java program to illustrate the concept of array
    // element assignments on Interface type array
    public class Test {
    public static void main(String[] args)
        {
            Runnable[] run = new Runnable[2];
            run[0] = new Thread();
      
            // String class does not implements Runnable interface.
            run[1] = new String(“GFG”);
        }
    }

    Producción:

    Compile-time error(Incompatible types)
    

    Explicación: en el programa anterior, estamos dando elementos de la clase String que causan un error de tiempo de compilación. Porque sabemos que String no implementa la interfaz Runnable.

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 *