Class TypeToken<T>


  • public class TypeToken<T>
    extends Object
    Represents a generic type T. 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<?> or List<? extends CharSequence>.

    • Method Detail

      • getRawType

        public final Class<? super T> getRawType()
        Returns the raw (non-generic) type for this type.
      • getType

        public final Type getType()
        Gets underlying Type 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.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • get

        public static TypeToken<?> get​(Type type)
        Gets type literal for the given Type instance.
      • get

        public static <T> TypeToken<T> get​(Class<T> type)
        Gets type literal for the given Class instance.
      • getParameterized

        public static TypeToken<?> getParameterized​(Type rawType,
                                                    Type... typeArguments)
        Gets type literal for the parameterized type represented by applying typeArguments to rawType.
      • getArray

        public static TypeToken<?> getArray​(Type componentType)
        Gets type literal for the array type whose elements are all instances of componentType.