Live briefing
Everything about Generics in Java
Features of the Java programming language
Generics are a facility of generic programming that were added to the Java programming language in 2004 within version J2SE 5.0. They were designed to extend Java's type system to allow "a type or method to operate on objects of various types while providing compile-time type safety". The aspect compile-time type safety required that parametrically polymorphic functions are not implemented in the Java virtual machine, since type safety is impossible in this case. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Generics in JavaA 5-minute orientation
- Skim a recent paper: A Java Compiler Plugin for Type-Safe Inferences in GenericsInfluential work since 2022
- Pick up a classic book: EclipseThe most-reprinted book on the subject
- Read the landmark paper: Adoption and use of Java genericsCited 44 times
- Go sideways: Java syntaxA closely related topic
- Go sideways: Wildcard (Java)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
Adoption and use of Java generics
Generics in Java and C++
Java generics are turing complete
Simulating multiple inheritance and generics in Java
Effective and Efficient Compilation of Run-Time Generics in Java
Converting Java classes to use generics
Instantiation of Java Generics
Some Examples of Generics in Java 1.5.
🆕 Influential since 2022
📚 Books worth reading
EclipseEric Clayberg, Dan Rubel · 2004
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Java syntax The syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike C++…
- Wildcard (Java) In the Java programming language, the wildcard ? is a special kind of type argument that controls the type safety of the use of generic (parameterized)…
- Type variance In computer programming, type variance is the relationship between subtypes of a composite type (e.g. List[Int]) and the subtypes of its components (e…
- Comparison of C Sharp and Java This article compares two programming languages: C# with Java. While the focus of this article is mainly the languages and their features, such a comparison…
- Boxing (computer programming) In computer science, boxing (a.k.a. wrapping) is the transformation of placing a primitive type within an object so that the value can be used as a reference…
- Java annotation In the Java computer programming language, an annotation is a form of syntactic metadata that can be added to Java source code, like an attribute. Classes…
- GNU Compiler for Java The GNU Compiler for Java (GCJ) is a discontinued free compiler for the Java programming language. It was part of the GNU Compiler Collection. GCJ compiles…
- Examples of anonymous functions In computer programming, an anonymous function (function literal, lambda function, or block) is a function definition that is not bound to an identifier…