Clase genérica en Java

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());
    }
}
Producción

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

Deja una respuesta

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