in

Genéricos en Java – javatpoint

los Genéricos de Java La programación se introduce en J2SE 5 para tratar con objetos con seguridad de tipos. Hace que el código sea estable al detectar los errores en el momento de la compilación.

Antes de los genéricos, podemos almacenar cualquier tipo de objetos en la colección, es decir, no genéricos. Ahora los genéricos obligan al programador de Java a almacenar un tipo específico de objetos.

Ventaja de Java Generics

Hay principalmente 3 ventajas de los genéricos. Son los siguientes:

1) Tipo de seguridad: Solo podemos contener un solo tipo de objetos en genéricos. No permite almacenar otros objetos.

Sin Genéricos, podemos almacenar cualquier tipo de objeto.

2) No se requiere fundición de tipo: No es necesario encasillar el objeto.

Antes de Genéricos, necesitamos escribir cast.

3) Comprobación en tiempo de compilación: Se verifica en tiempo de compilación para que no ocurra ningún problema en tiempo de ejecución. La buena estrategia de programación dice que es mucho mejor manejar el problema en tiempo de compilación que en tiempo de ejecución.

Sintaxis usar colección genérica

Ejemplo usar genéricos en java

Ejemplo completo de genéricos en Java

Aquí, estamos usando la clase ArrayList, pero puede usar cualquier clase de colección como ArrayList, LinkedList, HashSet, TreeSet, HashMap, Comparator, etc.

Pruébelo ahora

Producción:

element is: jai
rahul
jai 

Ejemplo de Java Generics usando Map

Ahora vamos a usar elementos de mapa usando genéricos. Aquí, necesitamos pasar la clave y el valor. Entendamos por un simple ejemplo:

Pruébelo ahora

Producción

Clase genérica

Una clase que puede hacer referencia a cualquier tipo se conoce como clase genérica. Aquí, estamos usando el parámetro de tipo T para crear la clase genérica de tipo específico.

Veamos un ejemplo simple para crear y usar la clase genérica.

Creando una clase genérica:

El tipo T indica que puede hacer referencia a cualquier tipo (como String, Integer y Employee). El tipo que especifique para la clase se utilizará para almacenar y recuperar los datos.

Usando clase genérica:

Veamos el código para usar la clase genérica.

Pruébelo ahora

Producción

Parámetros de tipo

Las convenciones de nomenclatura de los parámetros de tipo son importantes para aprender genéricos a fondo. Los parámetros de tipo común son los siguientes:

  1. T – Tipo
  2. E – Elemento
  3. K – Clave
  4. N – Número
  5. V – Valor

Método genérico

Como la clase genérica, podemos crear un método genérico que pueda aceptar cualquier tipo de argumentos. Aquí, el alcance de los argumentos se limita al método donde se declara. Permite métodos tanto estáticos como no estáticos.

Veamos un ejemplo simple del método genérico de Java para imprimir elementos de matriz. Estamos usando aquí mi para denotar el elemento.

Pruébelo ahora

Producción

Printing Integer Array
10
20
30
40
50
Printing Character Array
J
A
V
A
T
P
O
I
N
T

Comodín en Java Generics

Los ? El símbolo (signo de interrogación) representa el elemento comodín. Significa cualquier tipo. Si escribimos , significa cualquier clase secundaria de Número, por ejemplo, Integer, Float y double. Ahora podemos llamar al método de la clase Number a través de cualquier objeto de clase secundaria.

Podemos usar un comodín como tipo de parámetro, campo, tipo de retorno o variable local. Sin embargo, no está permitido utilizar un comodín como argumento de tipo para la invocación de un método genérico, la creación de una instancia de clase genérica o un supertipo..

Entendamos por el ejemplo que se da a continuación:

Producción

drawing rectangle
drawing circle
drawing circle

Comodines delimitados superiores

El propósito de los comodines delimitados en la parte superior es disminuir las restricciones de una variable. Restringe el tipo desconocido para que sea un tipo específico o un subtipo de ese tipo. Se utiliza declarando el carácter comodín («?») Seguido de la palabra clave extiende (en el caso de, clase) o implementos (en el caso de, interfaz), seguida de su límite superior.

Sintaxis

Aquí,

? es un carácter comodín.

se extiende, es una palabra clave.

Número, es una clase presente en el paquete java.lang

Supongamos que queremos escribir el método para la lista de Número y sus subtipos (como Integer, Double). Utilizando Lista es adecuado para una lista de tipo Número o cualquiera de sus subclases, mientras que Lista funciona con la lista de tipo Número solamente. Entonces, Lista es menos restrictivo que Lista .

Ejemplo de comodín de límite superior

En este ejemplo, estamos usando los comodines de límite superior para escribir el método para List y List .

Pruébelo ahora

Producción

displaying the sum= 30.0
displaying the sum= 70.0

Comodines ilimitados

El tipo de comodín ilimitado representa la lista de un tipo desconocido como List . Este enfoque puede ser útil en los siguientes escenarios: –

  • Cuando el método dado se implementa utilizando la funcionalidad proporcionada en la clase Object.
  • Cuando la clase genérica contiene los métodos que no dependen del parámetro de tipo.

Ejemplo de comodines ilimitados

Pruébelo ahora

Producción

displaying the Integer values
1
2
3
displaying the String values
One
Two
Three

Comodines delimitados inferiores

El propósito de los comodines delimitados más bajos es restringir el tipo desconocido para que sea un tipo específico o un supertipo de ese tipo. Se utiliza declarando un carácter comodín («?») Seguido de la palabra clave super, seguida de su límite inferior.

Sintaxis

Aquí,

? es un carácter comodín.

súper, es una palabra clave.

Entero, es una clase contenedora.

Supongamos que queremos escribir el método para la lista de Integer y su supertipo (como Number, Object). Utilizando Lista es adecuado para una lista de tipo Integer o cualquiera de sus superclases, mientras que Lista funciona con la lista de tipo Integer solamente. Entonces, Lista es menos restrictivo que Lista .

Ejemplo de comodín de límite inferior

En este ejemplo, estamos usando los comodines de límite inferior para escribir el método para List y List .

Pruébelo ahora

Producción

displaying the Integer values
1
2
3
displaying the Number values
1.0
2.0
3.0

Deja una respuesta

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

Variables de Python

desktop icon

Compilador de HTML en línea – Editor de HTML en línea – IDE de HTML en línea – Codificación de HTML en línea – Practique Html en línea – Ejecute Html en línea – Compile Html en línea