¿Por qué Array.length() da error cuando se usa en Java?

¿Qué pasará si usamos Array.length()?

Antes de pasar a la razón por la que no podemos escribir Array.length() , primero veamos qué sucederá si intentamos usar Array.length() en el código Java. A continuación se muestra un fragmento de código para comprobarlo.

Java

import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        int arr[] = new int[3];
        int size = arr.length();
    }
}

Intenta ejecutar el código anterior. Verá que hay un error de tiempo de compilación debido al uso de length() .

Error de compilación:

Main.java:6: error: cannot find symbol
       int size = arr.length();
                     ^
 symbol:   method length()
 location: variable arr of type int[]
1 error

¿Por qué no podemos usar Array.length() en Java?

Hemos visto que usar length() da un error. Pero la pregunta es ¿porqué?

Aunque las arrays son objetos en Java, la longitud es una variable de instancia (elemento de datos) en el objeto de la array y no un método . Por lo tanto, no podemos usar el método length() para conocer la longitud de la array.

Una vez que se inicializa la variable de longitud de la array, no se puede modificar ni cambiar. Se usa solo para arreglos y proporciona el tamaño (longitud) del arreglo, es decir, el número total de elementos en el arreglo. 

Mientras que los objetos String en Java tienen el método length() , este método devuelve el número de caracteres presentes en la string en ese momento. Este método es una forma de acceder al miembro de campo del objeto. Es modificable con las operaciones realizadas sobre la string. 

El campo de longitud se usa en arrays como: int[], double[], long[], String[], etc. El
método length() se usa en objetos String como: String, StringBuilder, etc.

Implementación de la variable de instancia de longitud y el método de longitud(): 

El siguiente fragmento de código muestra los casos de uso de la variable de instancia de longitud y el método de longitud() .

Java

// Java program to explain
// length field in array object
  
public class Main {
    public static void main(String args[])
    {
  
        // arr is an integer array
        int[] arr = new int[3];
  
        // length is a field variable for array arr
        System.out.println("Length of the array is: "
                           + arr.length);
  
        // str in a String
        String str = "GeeksFor";
  
        // length() is method for
        // getting length of string
        System.out.println("Length of the string " + str
                           + " is: " + str.length());
  
        // Updating the string
        str += "Geeks";
        System.out.println("Length of the updated string "
                           + str + " is: " + str.length());
    }
}
Producción

Length of the array is: 3
Length of the string GeeksFor is: 8
Length of the updated string GeeksForGeeks is: 13

Publicación traducida automáticamente

Artículo escrito por sachin801 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 *