If you are wondering what <E>, <K, V>, <N> and so on are called in Java Generics? Well, they are known as "Type Parameters".
Type Parameters are placeholders for data types that are defined when creating generic classes, interfaces, or methods. They are specified inside angle brackets (<>) when defining a generic class, interface, or method.
Examples:
Genetic Interface with Type Parameter E:
interface Payment<E> {
void process(E payment);
}
Genetic Method with Type Parameter E:
public <E> void printElement(E element) {
System.out.println(element);
}
Genetic Class with Type Parameter E:
class Container<E> {
private E item;
public Container(E item) {
this.item = item;
}
public E getItem() {
return item;
}
}
Naming Conventions of Type Parameters:
The Type Parameters are represented by single uppercase letters e.g., E, T, K, V.
Naming Convention | Type Parameter | Usage | Example |
---|---|---|---|
E | Element | Used extensively by the Java Collections Framework | List<E> |
K | Key | Typically used in key-value pairs or maps | Map<K, V> |
N | Number | Often used for numeric types | List<Number> |
T | Type | A general-purpose type parameter | Box<T> |
V | Value | Commonly used in key-value pairs or maps | Map<String, V> |
S , U , V , etc. | 2nd, 3rd, 4th types | Used for additional type parameters | Pair<S, T> , Triple<U, V, W> |
Facing issues? Have Questions? Post them here! I am happy to answer!
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
- GitPython: How to check out a Branch - Python
- How to Rename a Git Local Branch Using the --move Option - Git
- How to Split a Java Collections using Predicate, Lambda and Steams - Java
- Java - Check if array contains the value - Java
- JSON Datatypes : Tutorial - Json-Tutorial
- How to know file encoding in Microsoft Windows Notepad? - Microsoft
- How to Hum a Song to Google to find it out! [Android and iPhone] - Google
- [Ubuntu] Search a package and versions using apt command - Linux