tipo de datos parametrizados con seguridad de tipos, definido por el usuario
Una clase genérica simplemente significa que los elementos o funciones en esa clase se pueden generalizar con el parámetro (ejemplo T ) para especificar que podemos agregar cualquier tipo como parámetro en lugar de T como Integer, Character, String, Double o cualquier otro usuario -tipo definido.
Ejemplo: parámetro de tipo único
class Solution<T> { T data; public static T getData(){ return data; } }
Ejemplo: varios parámetros de tipo
public class Pair<K, V> { private K key; private V value; public Pair(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return value; } }
Aquí, en este ejemplo, podemos usar el objeto o instancia de esta clase tantas veces con diferentes Parámetros como tipo T. Si queremos que los datos sean de tipo int , la T se puede reemplazar con Integer, y de manera similar para String, Character, Float o cualquier tipo definido por el usuario. a el a no genéricoseparado
- es
- El parámetro de tipo punto,
Ventajas de los genéricos de Java
,
Ejemplo:
Java
// Java program to show the // instance of a generic class // Generic Classes // we use <> to specify parameter // type and we can add any datatype // like Integer, Double, String, // Character or any user defined // Datatype // Every time when we need to make an // object of another datatype of this // generic class , we need not to make // the whole class of that datatype again // instead we can simply change the // parameter/Datatype in braces <> public class Area<T> { // T is the Datatype like String, // Integer of which Parameter type, // the class Area is of private T t; public void add(T t) { // this.t specify the t variable inside // the Area Class whereas the right hand // side t simply specify the value as the // parameter of the function add() this.t = t; } public T get() { return t; } public void getArea() {} public static void main(String[] args) { // Object of generic class Area with parameter Type // as Integer Area<Integer> rectangle = new Area<Integer>(); // Object of generic class Area with parameter Type // as Double Area<Double> circle = new Area<Double>(); rectangle.add(10); circle.add(2.5); System.out.println(rectangle.get()); System.out.println(circle.get()); } }
10 2.5
Publicación traducida automáticamente
Artículo escrito por goelshubhangi3118 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA