¿Qué son los genéricos en Java? - Una guía para principiantes



Este artículo sobre genéricos en Java le dará una breve idea de qué son los genéricos de Java y sus diversos tipos junto con ejemplos.

Considere un ejemplo en el que tiene que hacer una lista de los seres vivos en una localidad. No importa si es un ser humano, un animal o una planta. Todo lo que importa es un ser vivo. En este caso, los agruparía a todos como 'seres vivos' y no los categorizaría. Del mismo modo, cuando tienes que almacenar algunos datos, lo que te importa es el contenido y no el tipo de datos, y ahí es donde usas Genéricos. Genéricos en es una característica del lenguaje que permite el uso de tipos y métodos genéricos.

A continuación se muestra la lista de temas que cubriré en este artículo:





¿Qué son los genéricos en Java?

Genéricos es un término que denota un conjunto de características del lenguaje relacionadas con la definición y el uso de tipos y métodos genéricos. Los métodos genéricos de Java difieren de los tipos y métodos de datos habituales. Antes de Genéricos, usamos para almacenar cualquier tipo de objetos, es decir no genérico . Ahora, los genéricos fuerzan programador para almacenar un tipo específico de objetos.

Ahora que sabe qué son los genéricos en Java, avancemos más y entendamos por qué necesita los genéricos de Java.



¿Por qué Java Generics?

Si miras el clases, entonces observará que la mayoría de las clases toman parámetro / argumento de tipo Object. Básicamente, de esta forma, pueden tomar cualquier tipo de Java como argumento y devolver el mismo objeto o argumento. Son esencialmente heterogéneo es decir, no de un tipo similar.

FrameworkHierarchy - Genéricos en Java - Edureka

A veces, en la aplicación Java, el tipo de datos de la entrada no es fijo. La entrada puede ser una entero , a flotador o . Para asignar la entrada al del tipo de datos correcto, debían realizarse verificaciones previas. En el enfoque tradicional, después de tomar la entrada, se verificó el tipo de datos de la entrada y luego se asignó a la variable del tipo de datos correcto. Cuando se utilizó esta lógica, se aumentó la longitud del código y el tiempo de ejecución. Para evitar esto, Se introdujeron los genéricos . Cuando usa Generics, los parámetros en el código se verifican en el momento de la compilación automáticamente y establece el tipo de datos de forma predeterminada. Así que aquí es donde necesitas el concepto de genéricos en Java.



Ahora que ha obtenido algunos conocimientos sobre los genéricos, avancemos y veamos las diversas formas en queLos genéricos se pueden aplicar al código fuente.

Tipos de genéricos de Java

Hay 4 formas diferentes de aplicar Genéricos en Java y son las siguientes:

  1. Clase de tipo genérico
  2. Interfaz genérica
  3. Método genérico
  4. Constructor genérico

Ahora entendamos cómo se pueden aplicar los genéricos a la clase de tipos en profundidad.

1. Clase de tipo genérico

Se dice que una clase es Genérica si declara una o más variables de tipo. Estos tipos de variables se conocen como los parámetros de tipo del . Entendamos esto con la ayuda de un ejemplo. En el siguiente ejemplo, crearé una clase con una propiedad x y el tipo de propiedad es un objeto.

class Genericclass {Objeto privado x conjunto vacío público (Objeto x) {this.x = x} Objeto público get () {retorno x}}

Aquí, una vez que inicializa la clase con un cierto tipo, la clase debe usarse solo con ese tipo en particular. P.ej. Si desea que una instancia de la clase contenga el valor x de tipo ' Cuerda ', El programador debe configurar y obtener el único tipo. Dado que he declarado el tipo de propiedad a Object, no hay forma de hacer cumplir esta restricción. Un programador puede configurar cualquier objeto y puede esperar cualquier tipo de valor de retorno de obtener método ya que todos los tipos de Java son subtipos de clase.

Para hacer cumplir este tipo de restricción, podemos usar genéricos de la siguiente manera:

class Genericclass {// T significa 'Tipo' private T x public void set (T x) {this.x = x} public T get () {return x}}

Ahora puede estar seguro de que la clase no se utilizará incorrectamente con tipos incorrectos. Un simple ejemplo de Clase genérica ”Tiene el aspecto que se muestra a continuación:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Esto generará un error de tiempo de compilación

Así es como funciona. EstaLa analogía también es cierta para la interfaz. Veamos rápidamente un ejemplo para comprender cómo se puede usar la información de tipo genérico en interfaces en Java.

que es la busqueda binaria en java

2. Interfaz genérica

Un se refiere a los tipos de datos abstractos. Ellos permiten ser manipulados independientemente de los detalles de su representación. Además, forman una jerarquía en Idiomas Veamos cómo se puede aplicar el tipo genérico a las interfaces en Java.

// Definición de interfaz genérica interfaz GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Una clase que implementa la clase de interfaz genérica Genericclass implementa GenericInterface {public Integer PerformExecution (String x) {// código de ejecución} public String ReverseExecution ( Integer x) {// código de ejecución}}

Espero que haya podido comprender cómo se pueden aplicar los genéricos a las clases de tipos y las interfaces. Ahora profundicemos en este artículo y comprendamos cómo es útil para los métodos y constructores.

3. Métodos genéricos

Los métodos genéricos son muy similares a las clases genéricas. Se diferencian entre sí en un solo aspecto que el La información de alcance o tipo está dentro del método únicamente. Los métodos genéricos introducen sus propios parámetros de tipo.

c ++ fibonacci recursivo

Entendamos esto con un ejemplo. A continuación se muestra un ejemplo de un método genérico que se puede utilizar para encontrar todas las apariciones de parámetros de tipo en una lista de variables.

public static int countAllOccurrences (T [] lista, elemento T) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (element.equals (listElement)) count ++} return count}

Si pasa una lista de Cadena para buscar en este método, funcionará bien. Pero si intenta encontrar un Número en la lista de Cadena, le dará un error de tiempo de compilación.

Esta analogía también es similar al constructor. Tomemos un ejemplo del constructor genérico y entendamos cómo funciona.

4. Constructor genérico

A constructor es un bloque de código que inicializa el objeto recién creado. UN constructor se parece a un método de instancia en J ava pero no es un método porque no tiene un tipo de retorno. El constructor tiene el mismo nombre que la clase y se ve así en J ava código. Ahora, tomemos un ejemplo y entendamos cómo funciona.

class Dimension {privado T longitud privado T ancho privado T altura // Constructor genérico público Dimensión (T largo, T ancho, T alto) {super () this.length = largo this.width = ancho this.height = alto}}

En el ejemplo anterior, el constructor de la clase Dimension tiene la información de tipo. Por lo tanto, puede tener una instancia de dimensión con todos los atributos de un solo tipo. Así es como puede utilizar constructores de tipos genéricos. Espero que haya entendido los tipos de genéricos en Java.

Ahora vayamos más allá y veamos las ventajas de los genéricos en Java.

Ventajas de los genéricos en Java

1. Reutilización de código

Puedes componer una estrategia o una clase o un una vez y utilícelo para cualquier tipo o forma que necesite.

2. No se requiere la transmisión de tipos individuales

Básicamente, recuperó información de cada vez, necesitas encasillarlo. Encasillar en cada tarea de recuperación es una gran migraña. Para erradicar ese enfoque, se introdujeron los genéricos.

3. Implementación de un algoritmo no genérico

Puede calcular los algoritmos que funcionan en varios tipos de elementos que también son seguros para los tipos.

Se trataba de las ventajas de Java Generics. Con esto, llegamos al final de este artículo sobre Genéricos en Java. Espero que lo haya encontrado informativo y lo haya ayudado a comprender Java Generics.

Revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Estamos aquí para ayudarlo en cada paso de su viaje, para que, además de estas preguntas de la entrevista de Java, se desarrolle un plan de estudios diseñado para estudiantes y profesionales que desean ser Desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Por favor, menciónelo en la sección de comentarios de este 'Genéricos en Java 'Artículo y nos pondremos en contacto contigo lo antes posible.