Why use Generics in Java?

Generics add a way to specify concrete types to general purpose classes and methods that operated on Object before.
 
Code that uses generics has many benefits over non-generic code:
1. Stronger type checks at compile time(Compile-time type safety).
A Java compiler applies strong type checking to generic code and issues errors if the code violates type safety. Fixing compile-time errors is easier than fixing runtime errors, which can be difficult to find.
 
2. Elimination of casts(hence avoid ClassCastException)
The following code snippet without generics requires casting:
 
List list = new ArrayList();
list.add(“hello”);
String s = (String) list.get(0);
When re-written to use generics, the code does not require casting:
 
List<String> list = new ArrayList<String>();
list.add(“hello”);
String s = list.get(0);   // no cast
 
3. Enabling programmers to implement generic algorithms.
By using generics, programmers can implement generic algorithms that work on collections of different types, can be customized, and are type safe and easier to read.
Rate this post

Leave a Reply