Stay organized with collections
Save and categorize content based on your preferences.
WildcardType
interface WildcardType : Type
WildcardType represents a wildcard type expression, such as ?
, ? extends Number
, or ? super Integer
.
Summary
Public methods |
abstract Array<Type!> |
Returns an array of Type objects representing the lower bound(s) of this type variable.
|
abstract Array<Type!> |
Returns an array of Type objects representing the upper bound(s) of this type variable.
|
Inherited functions |
From class Type
String |
getTypeName()
Returns a string describing this type, including information about any type parameters.
|
|
Public methods
getLowerBounds
abstract fun getLowerBounds(): Array<Type!>
Returns an array of Type
objects representing the lower bound(s) of this type variable. If no lower bound is explicitly declared, the lower bound is the type of null
. In this case, a zero length array is returned.
For each lower bound B :
- if B is a parameterized type or a type variable, it is created, (see
ParameterizedType
for the details of the creation process for parameterized types).
- Otherwise, B is resolved.
Return |
Array<Type!> |
an array of Types representing the lower bound(s) of this type variable |
Exceptions |
java.lang.TypeNotPresentException |
if any of the bounds refers to a non-existent type declaration |
java.lang.reflect.MalformedParameterizedTypeException |
if any of the bounds refer to a parameterized type that cannot be instantiated for any reason |
getUpperBounds
abstract fun getUpperBounds(): Array<Type!>
Returns an array of Type
objects representing the upper bound(s) of this type variable. If no upper bound is explicitly declared, the upper bound is Object
.
For each upper bound B :
- if B is a parameterized type or a type variable, it is created, (see
ParameterizedType
for the details of the creation process for parameterized types).
- Otherwise, B is resolved.
Return |
Array<Type!> |
an array of Types representing the upper bound(s) of this type variable |
Exceptions |
java.lang.TypeNotPresentException |
if any of the bounds refers to a non-existent type declaration |
java.lang.reflect.MalformedParameterizedTypeException |
if any of the bounds refer to a parameterized type that cannot be instantiated for any reason |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# WildcardType\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nWildcardType\n============\n\n```\ninterface WildcardType : Type\n```\n\n|-------------------------------------|\n| [java.lang.reflect.WildcardType](#) |\n\nWildcardType represents a wildcard type expression, such as `?`, `? extends Number`, or `? super Integer`.\n\nSummary\n-------\n\n| Public methods ||\n|----------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\\\u003c[Type](/reference/kotlin/java/lang/reflect/Type)!\\\u003e | [getLowerBounds](#getLowerBounds())`()` Returns an array of `Type` objects representing the lower bound(s) of this type variable. |\n| abstract [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\\\u003c[Type](/reference/kotlin/java/lang/reflect/Type)!\\\u003e | [getUpperBounds](#getUpperBounds())`()` Returns an array of `Type` objects representing the upper bound(s) of this type variable. |\n\n| Inherited functions ||\n|---|---|\n| From class [Type](/reference/kotlin/java/lang/reflect/Type) |----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [getTypeName](/reference/kotlin/java/lang/reflect/Type#getTypeName())`()` Returns a string describing this type, including information about any type parameters. \u003cbr /\u003e | ||\n\nPublic methods\n--------------\n\n### getLowerBounds\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun getLowerBounds(): Array\u003cType!\u003e\n```\n\nReturns an array of `Type` objects representing the lower bound(s) of this type variable. If no lower bound is explicitly declared, the lower bound is the type of `null`. In this case, a zero length array is returned.\n\nFor each lower bound B :\n\n- if B is a parameterized type or a type variable, it is created, (see [ParameterizedType](/reference/kotlin/java/lang/reflect/ParameterizedType) for the details of the creation process for parameterized types).\n- Otherwise, B is resolved.\n\n| Return ||\n|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|\n| [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\u003c[Type](/reference/kotlin/java/lang/reflect/Type)!\u003e | an array of Types representing the lower bound(s) of this type variable |\n\n| Exceptions ||\n|---------------------------------------------------------|-----------------------------------------------------------------------------------------------|\n| `java.lang.TypeNotPresentException` | if any of the bounds refers to a non-existent type declaration |\n| `java.lang.reflect.MalformedParameterizedTypeException` | if any of the bounds refer to a parameterized type that cannot be instantiated for any reason |\n\n### getUpperBounds\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun getUpperBounds(): Array\u003cType!\u003e\n```\n\nReturns an array of `Type` objects representing the upper bound(s) of this type variable. If no upper bound is explicitly declared, the upper bound is `Object`.\n\nFor each upper bound B :\n\n- if B is a parameterized type or a type variable, it is created, (see [ParameterizedType](/reference/kotlin/java/lang/reflect/ParameterizedType) for the details of the creation process for parameterized types).\n- Otherwise, B is resolved.\n\n| Return ||\n|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|\n| [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\u003c[Type](/reference/kotlin/java/lang/reflect/Type)!\u003e | an array of Types representing the upper bound(s) of this type variable |\n\n| Exceptions ||\n|---------------------------------------------------------|-----------------------------------------------------------------------------------------------|\n| `java.lang.TypeNotPresentException` | if any of the bounds refers to a non-existent type declaration |\n| `java.lang.reflect.MalformedParameterizedTypeException` | if any of the bounds refer to a parameterized type that cannot be instantiated for any reason |"]]