public abstract class ParameterizedTypeReference<T>
extends java.lang.Object
Type
. In order to capture the generic type and retain it at runtime,
you need to create a subclass as follows:
ParameterizedTypeReference<List<String>> typeRef = new ParameterizedTypeReference<List<String>>() {};
The resulting typeReference
instance can then be used to obtain a
Type
instance that carries parameterized type information.
For more information on "super type tokens" see the link to Neal Gafter's blog post.
Modifier and Type | Field and Description |
---|---|
private java.lang.reflect.Type |
type |
Modifier | Constructor and Description |
---|---|
protected |
ParameterizedTypeReference() |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
private static java.lang.Class<?> |
findParameterizedTypeReferenceSubclass(java.lang.Class<?> child) |
java.lang.reflect.Type |
getType() |
int |
hashCode() |
java.lang.String |
toString() |
public java.lang.reflect.Type getType()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
private static java.lang.Class<?> findParameterizedTypeReferenceSubclass(java.lang.Class<?> child)