- java.lang.Object
-
- com.google.gson.reflect.TypeToken<T>
-
public class TypeToken<T> extends Object
Represents a generic typeT
. Java doesn't yet provide a way to represent generic types, so this class does. Forces clients to create a subclass of this class which enables retrieval the type information even at runtime.For example, to create a type literal for
List<String>
, you can create an empty anonymous inner class:TypeToken<List<String>> list = new TypeToken<List<String>>() {};
This syntax cannot be used to create type literals that have wildcard parameters, such as
Class<?>
orList<? extends CharSequence>
.- Author:
- Bob Lee, Sven Mawson, Jesse Wilson
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TypeToken()
Constructs a new type literal.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
equals(Object o)
static <T> TypeToken<T>
get(Class<T> type)
Gets type literal for the givenClass
instance.static TypeToken<?>
get(Type type)
Gets type literal for the givenType
instance.static TypeToken<?>
getArray(Type componentType)
Gets type literal for the array type whose elements are all instances ofcomponentType
.static TypeToken<?>
getParameterized(Type rawType, Type... typeArguments)
Gets type literal for the parameterized type represented by applyingtypeArguments
torawType
.Class<? super T>
getRawType()
Returns the raw (non-generic) type for this type.Type
getType()
Gets underlyingType
instance.int
hashCode()
boolean
isAssignableFrom(TypeToken<?> token)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.boolean
isAssignableFrom(Class<?> cls)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.boolean
isAssignableFrom(Type from)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.String
toString()
-
-
-
Constructor Detail
-
TypeToken
protected TypeToken()
Constructs a new type literal. Derives represented class from type parameter.Clients create an empty anonymous subclass. Doing so embeds the type parameter in the anonymous class's type hierarchy so we can reconstitute it at runtime despite erasure.
-
-
Method Detail
-
getRawType
public final Class<? super T> getRawType()
Returns the raw (non-generic) type for this type.
-
getType
public final Type getType()
Gets underlyingType
instance.
-
isAssignableFrom
@Deprecated public boolean isAssignableFrom(Class<?> cls)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.Check if this type is assignable from the given class object.
-
isAssignableFrom
@Deprecated public boolean isAssignableFrom(Type from)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.Check if this type is assignable from the given Type.
-
isAssignableFrom
@Deprecated public boolean isAssignableFrom(TypeToken<?> token)
Deprecated.this implementation may be inconsistent with javac for types with wildcards.Check if this type is assignable from the given type token.
-
get
public static <T> TypeToken<T> get(Class<T> type)
Gets type literal for the givenClass
instance.
-
getParameterized
public static TypeToken<?> getParameterized(Type rawType, Type... typeArguments)
Gets type literal for the parameterized type represented by applyingtypeArguments
torawType
.
-
-