Java Generics FAQs - Index
Index
© Copyright  2004-2022 by Angelika Langer. 
All Rights Reserved.
A
 
B
 
C
 
D
 
E
 
F
 
G
 
H
 
I
 
J
 
K
 
L
 
M
 
N
 
O
 
P
 
Q
 
R
 
S
 
T
 
U
 
V
 
W
 
X
 
Y
 
Z
 
 
 
A
actual type:
 
    in reflection, see 
reflective
actual type
annotation:
 
    
Override
, see 
Override
annotation
 
    
SuppressWarnings
, see 
SuppressWarnings
annotation
 
array:
 
    component type, see 
array
component type
 
    
generic
creation of
 
    reference variable, see 
array
reference variable
 
array reference variable:
 
     
to
array of concrete parameterized type
 
     
to
array of bounded wildcard parameterized type
 
     
to
array of unbounded wildcard parameterized type
 
array component type:
 
    
concrete
parameterized type
 
    
wildcard
parameterized type
 
    
type
parameter/variable
 
    
unbounded
wildcard parameterized type
 
 
 
B
bound:
 
    lower, see 
lower
bound
 
    of type parameter, see 
type
parameter bounds
 
    of wildcard, see 
wildcard
bound
 
    upper, see 
upper
bound
bounded:
 
    
type
parameter
 
    
wildcard
 
bridge method:
 
    performance penalty, see 
performance
 
    
purpose
 
    
what
is a ...?
 
 
 
C
cast:
 
    
compiler-generated
 
    performance penalty, see 
performance
 
    
target
type
 
    
to
parameterized type
 
    
to
type parameter
checked
collection
 
Class
:
 
    
type
parameter
 
circular generic type, see 
self-referential
generic type
 
class literal:
 
    
of
parameterized type
 
    
of
wildcard parameterized type
 
    
of type
parameter / variable
 
    
what is
a ...?
 
clone
:
 
    
of
generic type
 
code sharing, see 
compilation
 
code specialization, see 
compilation
 
collection:
 
    
Collection<Object>
 
    
Collection<?>
 
    
checked
 
    generic, see 
generic
collection
 
    mixed, see 
collection
of 
objects of different types
 
  
of
objects of different types
 
    parameterized, see 
parameterized
collection
 
compatibility:
 
    
binary
 
compilation of generics:
 
    
how
does the compiler translate generics
 
compiler-generated:
 
    bridge method, see 
bridge
method
 
    
cast
 
concrete:
 
   instantiation, see 
concrete
parameterized type
 
   parameterized type, see 
concrete
parameterized type
 
concrete parameterized type:
 
    
array
of
 
    
class
literal
 
    
compatibility
 
    
of
generic type
 
    
use
of
 
    
vs.
unbounded wildcard instantiation
 
    
vs.
wildcard instantiation
 
    
what is
a ...?
 
covariant return type:
 
    
and
overriding
 
    
what
is a ...?
 
 
 
D
declared type:
 
    in reflection, see 
reflective
declared type
derivation:
 
    
from
wildcard parameterized type
 
    
from
type parameter
 
descriptor:
 
    
vs.
signature
 
diamond operator:
 
    
what
is the ...?
 
dynamic type:
 
    in reflection, see 
reflective
actual type
 
 
 
E
enum type:
 
    
decryption
of 
Enum<E extends Enum<E>>
 
    nested into generic type, see 
nested
enum type
 
    
generic
equals
:
 
    
of
generic type
 
erasure, see 
type erasure
 
exception handling:
 
    
parameterized
types
 
explicit
type argument specification
 
extends
 keyword:
 
    
meaning
of
 
    see also 
upper
bound
 
 
 
F
features:
 
   see 
language
features
 
 
G
generic:
 
    array, see 
java.lang.reflect.GenericArrayType
 
    code, see 
generic
code
 
    collection, see 
generic
collection
 
    
exceptions
 
    interface, see 
generic
interface
 
    method, see 
generic
method
 
    type, see 
generic
type
GenericArrayType
, see 
java.lang.reflect.GenericArrayType
 
generic code:
 
    
mix
with legacy code
 
generic collection:
 
    
vs.
non-generic collection
 
generic interface:
 
    
as
bound of a type parameter
 
    
implementing
different instantiations
 
    
in
class hierarchy
 
    
name
collision
 
generic method:
 
    
explicit
type argument specification
 
    
definition
 
    
invocation
 
    reflection, see 
reflective
generic method
 
    
type
argument inference
 
    
vs.
regular method
 
    
what
is a ...?
 
generic type:
 
    
as
type parameter bound
 
    
cast
to
 
    
definition
 
    
enum
type
 
    
exception
handling
 
    
instantiation
 
    
nested
interface
 
    reflection, see 
reflective
generic type
 
    
runtime
type of
 
    static member, see 
static
member of generic type
 
    
super-subtype
relationship
 
    
type
system
 
    
vs.
raw type
 
    
vs.
regular type
 
    
what
is a ...?
 
generics, see 
Java generics
 
generification:
 
    
of
legacy classes
 
getThis trick
 
 
 
H
heap
pollution
 
 
I
import:
 
    
generic
type
 
    
parameterized
type
improved type inference, see 
type
argument inference
 
inference, see 
type
argument inference
 
instanceof
:
 
    
target
type
 
instantiation:
 
    
concrete
instantiation
 
    
of
generic method
 
    
of 
generic type
 
    
super-subtype
relationship
 
    
type
relationship among i
nstantiations of different generic types
 
    
type
relationship to lower bound wildcard instantiation
 
    
type
relationship to raw type
 
    
type
relationship to unbounded wildcard instantiation
 
    
type
relationship to upper bound wildcard instantiation
 
    
wildcard
instantiation
 
    
vs.
raw type
 
interface:
 
    nested into generic type, see 
nested
interface
 
    generic, see 
generic
interface
 
 
 
J
Java generics:
 
    
benefit
 
    
purpose
 
    
translation
by type erasure
 
    
what
are ...?
java.lang.reflect.GenericArrayType
 
    see also:  
JavaDoc
 
java.lang.reflect.ParameterizedType
 
    see also:  
JavaDoc
 
java.lang.reflect.Type
 
    
subtypes
 
    see also:  
JavaDoc
 
java.lang.reflect.TypeVariable
 
    see also:  
JavaDoc
 
java.lang.reflect.WildcardType
 
    see also:  
JavaDoc
 
 
 
K
 
L
language features:
 
    
bridge
method
 
    
concrete
instantiation
 
    
explicit
type argument specification
 
    
instantiation
of generic method
 
    
instantiation
of generic type
 
    
overview
 
    
generic
method
 
    
generic
type
 
    
parameterized
type
 
    
raw
type
 
    
type
argument
 
    
type
argument inference
 
    
type
erasure
 
    
type
parameter
 
    
type
parameter bound
 
    
wildcard
 
    
wildcard
bound
 
    
wildcard
capture
 
    
wildcard
instantiation
legacy code:
 
generify
 
    
mix
with generic code
 
    re-engineer, see 
generify
 
lower bound:
 
    
what
is a ...?
 
    
on
wildcard
 
    wildcard instantiation, see 
lower
bound wildcard instantiation
 
    
on
type parameter
 
    
difference
on wildcard and on type parameter
 
lower bound wildcard
instantiation:
 
    
type
relationship to other instantiations of the same type
 
 
 
M
method:
 
    bridge, see 
bridge
method
 
    descriptor, see 
descriptor
 
    generic, see 
generic 
method
 
    parameterized, see 
generic 
method
 
    signature, see 
signature
 
    synthetic, see 
bridge
method
 
    
with
wildcard return type
 
    
with
wildcard argument type
 
    
with
multi-level wildcard argument type
 
    with varargs, see 
variable
argument list
multi-level wildcard:
 
    
as
argument type of a method
 
    
what
is a ...?
 
 
 
N
nested enum type (with parameterized enclosing
type):
 
    
scope
name
nested interface (with parameterized
enclosing type):
 
    
scope
name
 
    
access
to enclosing type parameters
 
nested wildcard, see 
multi-level wildcard
 
non-reifiable type:
 
    
and
arrays
 
    
and
varargs
 
    
vs.
reifiable type
 
 
 
O
object:
 
    
generic
creation
 
    
of
concrete parameterized type
 
    
of
wildcard parameterized type
 
    
of
type parameter/variable
 
    
of
unbounded wildcard parameterized type
overloading:
 
    
problems
with
 
    
what
is ...?
 
overload resolution:
 
    
and
type variables
 
    
what
is ...?
 
Override
annotation
 
override-equivalent signature:
 
    
and
overloading
 
    
and
overriding
 
    
vs.
subsignature
 
    
what
is an ...?
 
overriding:
 
    
generic
sub-method + generic super-method
 
    
generic
sub-method - non-generic super-method
 
    
generic
subtype + generic supertype
 
    
non-generic
sub-method + generic super-method
 
    
non-generic
subtype + generic supertype
 
    
problems
with
 
    
what
is ...?
 
 
 
P
parameterized:
 
    collection, see 
parameterized
collection
 
    interface, see 
parameterized
interface
 
    method, see 
generic
method
 
    type, see 
parameterized
type
parameterized collection
 
    
vs.
non-parameterized collection
 
parameterized interface:
 
    
as
bound of a type parameter
 
    
implementing
different instantiations
 
    
in
class hierarchy
 
    
name
collision
 
ParameterizedType, 
see
 
java.lang.reflect.ParameterizedType
 
parameterized type:
 
    
as
type parameter bound
 
    
cast
to
 
    
definition
 
    
enum
type
 
    
exception
handling
 
    
instantiation
 
    
nested
interface
 
    reflection, see 
reflective
parameterized type
 
    
runtime
type of
 
    static member, see 
static
member of parameterized type
 
    
super-subtype
relationship
 
    
type
system
 
    
vs.
raw type
 
    
vs.
regular type
 
    
what
is a ...?
 
performance
 
polluted heap:
 
    see 
heap pollution
 
polymorphic method dispatch:
 
    
and
overriding
 
primitive types:
 
    
as
type arguments
 
 
 
Q
 
R
raw type:
 
    
purpose
 
    
type
relationship to instantiation
 
    
use
of
 
    
vs.
parameterized type
 
    
vs.
unbounded wildcard instantiation
 
    
what
is a ...?
recursive
 
    bound, see 
self-referential
generic type
 
    generic type, see 
self-referential
generic type
 
    type parameter, see 
self-referential
generic type
 
reifiable type:
 
    
vs.
non-reifiable type
 
    
what
is a ...?
 
reification
 
reflection:
 
    
and
generics
 
reflective ...
 
actual
type
 
declared
type
 
    dynamic type, see 
reflective
actual type
 
    generic method, see 
reflective
generic method
 
    generic type, see 
reflective
generic type
 
    parameterized type, see 
reflective
parameterized type
 
    static type, see 
reflective
declared type
 
    type parameter, see 
reflective
type parameter
 
    wildcard type, see 
reflective
wildcard type
 
reflective
generic method
 
reflective
generic type
 
    
difference
from reflective parameterized type
 
reflective
parameterized type
 
    
difference
from reflective generic type
 
reflective
type parameter
 
reflective
wildcard type
 
return type:
 
    covariant, see 
covariant
return type
 
    substitutable, see 
substitutable
return type
 
runtime type:
 
    
class
literal
 
    
information
 
    
of
parameterized type
 
 
 
S
safety, see 
type safety
self-referential
generic type
 
signature:
 
    
and
overloading
 
    
and
overriding
 
    override-equivalent, see 
override-equivalent
signature
 
    subsignature, see 
subsignature
 
    
what
is a ...?
 
static:
 
    member, see 
static
member of generic type
 
    type, see 
static
type in reflection
 
static type:
 
    in reflection, see 
reflective
declared type
 
static member of generic
type:
 
    
how
many instances?
 
    
name
of
 
    
type
parameter as type of
 
subsignature:
 
    
and
overloading
 
    
and
overriding
 
    
vs.
override-equivalent signature
 
    
what
is ...?
 
substitutable return type:
 
    
vs.
covariant return type
 
    
and
overriding
 
    
what
is a ...?
 
super
 keyword:
 
    see 
lower bound
 
super-subset:
 
    
relationship
among type families denoted by wildcards
 
super-subtype:
 
    
relationship
among instantiations of generic types
 
SuppressWarnings
annotation
 
 
 
T
throws
 clause:
 
    and overriding, see 
conflicting
 
    
and
type parameter
 
conflicting
Type
, see 
java.lang.reflect.Type
 
type:
 
    argument, see 
type
argument
 
    check, see 
type
check
 
    generic, see 
generic 
type
 
    parameter, see 
type
parameter
 
    parameterized, see 
parameterized
type
 
    
raw
type
 
    reifiable, see 
reifiable
type
 
    
runtime
type
 
type argument:
 
    
and
type parameter bounds
 
    
explicit
type argument specification
 
    inference, see 
type
argument inference
 
    
of
generic method
 
    
of
parameterized type
 
    
permitted
types
 
    
primitive
types
 
    
type
parameters
 
    
what
is a ...?
 
    
wildcards
 
type check:
 
   in checked collection, see 
checked
collection
 
   in equals method, see 
equals
 
   
implicitly
generated
 
   
leading
to unchecked warning
 
   
target
type is a parameterized type
 
   target type is a type parameter:
 
        
performed
at compile time
 
        
performed
at runtime time
 
  see also, 
cast
 
type argument inference:
 
    
explicit
type argument specification
 
    
for
generic methods
 
    
for
instance creation
 
    
from
context
 
    
what
is ...?
 
    see also, 
diamond operator
 
 
 
type erasure:
 
    bridge method, see 
bridge
method
 
    
compiler-generated
cast
 
    
of
generic method
 
    
of
parameterized type
 
    
of
type parameter
 
    reifiable type, see 
reifiable
type
 
    
several
bounds
 
    
what
is ...?
 
type parameter:
 
    
array
of
 
    
as
bound of another type parameter
 
    
as
part of its own bounds
 
    
as
supertype
 
    
as
target type of runtime type check
 
    
as
type argument
 
    
bounded
 
    bounds, see 
type
parameter bounds
 
    
cast
to
 
    
class
literal
 
    
derive
from
 
    
in
catch clause
 
    
in
exception handling
 
    
in
throw statement
 
    
in
throws clause
 
    
object
of
 
    
of
an outer type
 
    reflection, see 
reflective
type parameter
 
    
scope
of
 
    
static
context
 
    
type-like
use
 
    
use
of
 
    
what
is ...?
 
type parameter bound
 
    
access
to members
 
    
and
type arguments
 
    
different
instantiations of a same generic type
 
    
extends
clause
 
    
permitted
types
 
    
vs.
type wildcard bound
 
    
what
is a ...?
 
type relationship:
 
    
inheritance
 
    
super-subtype
 
    see also 
type
relationship among ...
 
type relationship among:
 
    
raw
type and parameterized type
 
    
i
nstantiations
of different generic types
 
    
lower
bound wildcard instantiations and other instantiations of the same generic
type
 
    
instantiations
of generic type (in general)
 
    
unbounded
wildcard instantiations and other instantiations of the same generic type
 
    
upper
bound wildcard instantiations and other instantiations of the same generic
type
 
type-safety
 
type system, see 
type relationship
 
type token:
 
    
for generic
creation of objects and arrays
 
    
for dynamic
retrieval of type arguments
 
TypeVariable
, see 
java.lang.reflect.TypeVariable
 
type variable, see 
type parameter
 
typing:
 
    
strong
 
    
weak
 
 
 
U
unbounded:
 
    
wildcard
 
    wildcard instantiation, see 
unbounded
wildcard instantiation
unbounded wildcard instantiation:
 
    
array
of
 
    
type
relationship to other instantiations of the same generic type
 
    
vs.
bounded wildcard instantiation
 
    
vs.
concrete wildcard instantiation
 
    
vs.
raw type
 
    
what
is an ...?
 
unchecked warning:
 
    
avoid
 
    
disable
 
    
eliminate
 
    
enable
 
    
spurious
 
    
suppress
 
    
what
is an ...?
 
upper bound:
 
    
wildcard
 
    wildcard instantiation, see 
upper
bound wildcard instantiation
 
    
what
is an ...?
 
upper bound wildcard
instantiation:
 
    
type
relationship to other instantiations of the same generic type
 
 
 
V
varargs, see 
variable argument
list
 and 
varargs warning
varargs warning:
 
    
suppress
 
    
what
is a ...?
 
variable argument list:
 
    
and
non-reifiable types
 
 
 
W
warning:
 
    unchecked, see 
unchecked
warning
wildcard:
 
    
as
type argument
 
    
bounded
 
    capture, see 
wildcard
capture
 
    
in
method signatures
 
    instantiation, see 
wildcard
parameterized type
 
    multi-level, see 
multi-level
wildcard
 
    nested, see 
multi-level
wildcard
 
    parameterized type, see 
wildcard
parameterized type
 
    reflection, see 
reflective
wildcard type
 
    
super-subset
relationship
 
    type, see 
wildcard
parameterized type
 
    
unbounded
 
    
what
is a ...?
 
wildcard bound:
 
    
extends
clause
 
    lower, see 
lower
bound
 
    
permitted
types
 
    upper, see 
upper
bound
 
    
vs.
type parameter bound
 
    
what
is a ...?
 
wildcard capture:
 
    
assignment-compatibility
 
    
of
bounded wildcard
 
    
what
is a ...?
 
wildcard parameterized type:
 
    
access
to fields and methods
 
    
array
of
 
    
as
argument type of a method
 
    
as
return type of a method
 
    
as
supertype
 
    
class
literal
 
    
derive
from
 
    
in
method signatures
 
    
in
new
expression
 
    
object
of
 
    unbounded, see 
unbounded
wildcard instantiation
 
    
use
of
 
    
vs.
concrete instantiation
 
    
vs.
unbounded wildcard instantiation
 
    
what
is a ...?
 
    
with
lower bound
 
WildcardType
, see 
java.lang.reflect.WildcardType
 
 
 
X
Xlint
compiler option
 
 
Y
 
Z
 
 
CONTENT
 
PREVIOUS
 
 
 |