Generic Class

How to write a Generic Class?

  • Generic is identified by <T>, it is not necessary to be T but any alphabets. We take T commonly in the examples to suggest T as Types
  • If a Data Member(not member function) is a class uses a Generic Data member then its class name show be followed by name of the generic types inside an diamond operator.

Example :

class GenericClass<A,B,C>{
	A varA;
	B varB;
	C varC;
}

Example : On how a single classes variable can store different datatype

package com.test;

public class Demo {
	public static void main(String[] args) {
		Test<String> stringTest = new Test<>();
		stringTest.setItem("Hello");
		System.out.println(stringTest);
		Test<Integer> intTest = new Test<>();
		intTest.setItem(50);
		System.out.println(intTest);
		Test<Double> doubleTest = new Test<>();
		doubleTest.setItem(50.55);
		System.out.println(doubleTest);
		
	}
}
class Test<T>{
	T item;

	public T getItem() {
		return item;
	}

	public void setItem(T item) {
		this.item = item;
	}
	@Override
	public String toString() {
		return this.item.toString();
	}
}

Example : Multiple Parameters

package com.test;

public class DemoHashTable {
	public static void main(String[] args) {
		Hashtable<String,Integer> h1 = new Hashtable<>("Ten",10);
		System.out.println(h1);
		
		Hashtable<String,String> h2 = new Hashtable<>("Ten","Ten");
		System.out.println(h2);
	}
}
class Hashtable<K,V>{
	private K k;
	private V v;
	Hashtable(K k,V v){
		this.k = k;
		this.v = v;
	}
	@Override
	public String toString(){
		return k.toString()+" - "+v.toString();
	}
}

  • K – Key
  • E – Element
  • N – Number
  • T – Type
  • V – Value
  • S,U,V – Multiple Type

Leave a Comment