Class TypeToken<T>


  • public class TypeToken<T>
    extends java.lang.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 Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)  
      static <T> TypeToken<T> get​(java.lang.Class<T> type)
      Gets type literal for the given Class instance.
      static TypeToken<?> get​(java.lang.reflect.Type type)
      Gets type literal for the given Type instance.
      static TypeToken<?> getArray​(java.lang.reflect.Type componentType)
      Gets type literal for the array type whose elements are all instances of componentType.
      static TypeToken<?> getParameterized​(java.lang.reflect.Type rawType, java.lang.reflect.Type... typeArguments)
      Gets type literal for the parameterized type represented by applying typeArguments to rawType.
      java.lang.Class<? super T> getRawType()
      Returns the raw (non-generic) type for this type.
      java.lang.reflect.Type getType()
      Gets underlying Type instance.
      int hashCode()  
      boolean isAssignableFrom​(TypeToken<?> token)
      Deprecated.
      this implementation may be inconsistent with javac for types with wildcards.
      boolean isAssignableFrom​(java.lang.Class<?> cls)
      Deprecated.
      this implementation may be inconsistent with javac for types with wildcards.
      boolean isAssignableFrom​(java.lang.reflect.Type from)
      Deprecated.
      this implementation may be inconsistent with javac for types with wildcards.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getRawType

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

        public final java.lang.reflect.Type getType()
        Gets underlying Type instance.
      • isAssignableFrom

        @Deprecated
        public boolean isAssignableFrom​(java.lang.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​(java.lang.reflect.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 java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • get

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

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

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

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