Angle Bracket in Java is used to define Generics. It means that the angle bracket takes a generic type, say T, in the definition and any class as a parameter during the calling. The idea is to allow type (Integer, String, … etc and user-defined types) to be a parameter to methods, classes, and interfaces. For example, classes like HashSet, ArrayList, HashMap, etc use generics very well. We can use them for any type.
Example:
<T> // of type T <Integer> // of type Integer <String> // of type String <MyClass> // of type MyClass . .
How to use angle bracket with Class?:
We use angle brackets ‘<>’ to specify parameter types in generic class creation. To create objects of a generic class, we use the following syntax:
// To create an instance of generic class BaseType obj = new BaseType () Note: In Parameter type, we can not use primitives like 'int', 'char' or 'double'.
// A Simple Java program // to show working of user defined // Generic classes // We use < > to specify Parameter type class Test<T> {
// An object of type T is declared
T obj;
// constructor
Test(T obj)
{
this .obj = obj;
}
public T getObject()
{
return this .obj;
}
} // Driver class to test above class Main {
public static void main(String[] args)
{
// instance of Integer type
Test<Integer> iObj
= new Test<Integer>( 15 );
System.out.println(iObj.getObject());
// instance of String type
Test<String> sObj
= new Test<String>( "GeeksForGeeks" );
System.out.println(sObj.getObject());
}
} |
15 GeeksForGeeks
How to use angle bracket with Function?:
We use angle brackets ” to specify parameter types in the generic function definition. Then to call the function, we just pass the expecter type as a parameter. We can also write generic functions that can be called with different types of arguments based on the type of arguments passed to the generic method, the compiler handles each method.
// To create a generic function public static void func(T a, T b){} Note: In Parameter type, we can not use primitives like 'int', 'char' or 'double'.
// A Simple Java program // to show working of user defined // Generic functions class Test {
// A Generic method example
static <T> void genericDisplay(T element)
{
System.out.println(
element
.getClass()
.getName()
+ " = " + element);
}
// Driver method
public static void main(String[] args)
{
// Calling generic method
// with Integer argument
genericDisplay( 11 );
// Calling generic method
// with String argument
genericDisplay( "GeeksForGeeks" );
// Calling generic method
// with double argument
genericDisplay( 1.0 );
}
} |
java.lang.Integer = 11 java.lang.String = GeeksForGeeks java.lang.Double = 1.0