Class TypeVariable


  • public final class TypeVariable
    extends Type
    Represents a resolved type parameter or type argument. The name() of this type variable corresponds to the raw type name. For type variables, the raw type name is the first upper bound. The identifier() specifies the name of the type variable as specified in the source code.

    For example, consider the type variable:

    T extends Number
    The identifier() is "T", while the name() is "java.lang.Number".
    Since:
    2.0
    • Field Detail

      • name

        private final java.lang.String name
      • bounds

        private final Type[] bounds
      • hash

        private int hash
    • Constructor Detail

      • TypeVariable

        TypeVariable​(java.lang.String name)
      • TypeVariable

        TypeVariable​(java.lang.String name,
                     Type[] bounds)
      • TypeVariable

        TypeVariable​(java.lang.String name,
                     Type[] bounds,
                     AnnotationInstance[] annotations,
                     boolean implicitObjectBound)
    • Method Detail

      • identifier

        public java.lang.String identifier()
        The identifier of this type variable as it appears in Java source code.

        The following class has a type parameter, with an identifier of "T":

             class Foo<T extends Number> {}
         
        Returns:
        the identifier of this type variable
      • bounds

        public java.util.List<Type> bounds()
      • boundArray

        Type[] boundArray()
      • hasImplicitObjectBound

        boolean hasImplicitObjectBound()
      • kind

        public Type.Kind kind()
        Description copied from class: Type
        Returns the kind of Type this is.
        Specified by:
        kind in class Type
        Returns:
        the kind
      • toString

        java.lang.String toString​(boolean simple)
        Overrides:
        toString in class Type
      • equals

        public boolean equals​(java.lang.Object o)
        Description copied from class: Type
        Compares this Type with another type, and returns true if they are equivalent. A type is equivalent to another type if it is the same kind, and all of its fields are equal. This includes annotations, which must be equal as well.
        Overrides:
        equals in class Type
        Parameters:
        o - the type to compare to
        Returns:
        true if equal
        See Also:
        Object.equals(Object)
      • hashCode

        public int hashCode()
        Description copied from class: Type
        Computes a hash code representing this type.
        Overrides:
        hashCode in class Type
        Returns:
        the hash code