Package org.springframework.core

# Class ParameterizedTypeReference<T>

java.lang.Object
org.springframework.core.ParameterizedTypeReference<T>

Type Parameters:
  `T` - the referenced type

public abstract class ParameterizedTypeReference<T> extends Object
The purpose of this class is to enable capturing and passing a generic `Type`. In order to capture the generic type and retain it at runtime, you need to create a subclass (ideally as anonymous inline class) as follows:

     ParameterizedTypeReference<List<String>> typeRef = new ParameterizedTypeReference<List<String>>() {};

The resulting `typeRef` instance can then be used to obtain a `Type` instance that carries the captured parameterized type information at runtime. For more information on "super type tokens" see the link to Neal Gafter's blog post.

Since:
  3.2
Author:
  Arjen Poutsma, Rossen Stoyanchev
See Also:
  - Neal Gafter on Super Type Tokens

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ParameterizedTypeReference()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`static <T> ParameterizedTypeReference<T>`
`forType(Type type)`
Build a `ParameterizedTypeReference` wrapping the given type.
`Type`
`getType()`
`int`
`hashCode()`
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ParameterizedTypeReference

protected ParameterizedTypeReference()

## Method Details

### getType

public Type getType()

### equals

public boolean equals(@Nullable Object other)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### forType

public static <T> ParameterizedTypeReference<T> forType(Type type)
Build a `ParameterizedTypeReference` wrapping the given type.

Parameters:
  `type` - a generic type (possibly obtained via reflection, for example, from `Method.getGenericReturnType()`)
Returns:
  a corresponding reference which may be passed into `ParameterizedTypeReference`-accepting methods
Since:
  4.3.12