Java Generics and Collections



Subtyping and Wildcards

Subtyping and Wildcards Now that we've covered the basics, we can start to cover more-advanced features of generics, such as subtyping and wildcards. In this section, we'll review how subtyping works

Comparison and Bounds

Comparison and Bounds Now that we have the basics, let's look at some more-advanced uses of generics.

Declarations

Declarations This chapter discusses how to declare a generic class. It describes constructors, static members, and nested classes, and it fills in some details of how erasure works

Evolution, Not Revolution

Evolution, Not Revolution One motto underpinning the design of generics for Java is evolution, not revolution. It must be possible to migrate a large, existing body of code to use generics gradually (evolution) without..

Reification

Reflection Reflection is the term for a set of features that allows a program to examine its own definition. Reflection in Java plays a role in class browsers, object inspectors, debuggers, interpreters.

Effective Generics

Effective Generics This chapter contains advice on how to use generics effectively in practical coding. We consider checked collections, security issues, specialized classes, and binary compatibility.

Design Patterns

Design Patterns This chapter reviews five well-known design patternsVisitor, Interpreter, Function, Strategy, and Subject-Observerand shows how they can take advantage of generics.

 

Read more