admin 管理员组

文章数量: 1184232


2023年12月23日发(作者:hive decimal类型)

java 泛型参数化类型 获取实例对象

在Java中,泛型参数化类型可以通过如下方式获取实例对象:

1. 使用new关键字实例化对象时,可以添加泛型参数化类型来指定具体类型,例如:

```java

List list = new ArrayList<>();

```

这里的`<>`表示泛型参数化类型,声明了一个`ArrayList`类型的`list`,其中存储的元素类型是`String`。

2. 在方法的参数或返回值中使用泛型参数化类型,例如:

```java

public T getObject() {

// ...

}

public void setObject(T object) {

// ...

}

```

这里的`T`表示泛型参数化类型,可以在方法中使用它来声明参数类型或返回值类型。

3. 通过反射获取泛型参数化类型的实例对象,例如:

```java

Class clazz =

(Class)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];

T object = tance();

```

这里使用了反射来获取当前类的泛型参数化类型,并通过`newInstance()`方法创建该类型的实例对象。

需要注意的是,由于Java的类型擦除机制,在运行时无法直接获取泛型参数化类型的具体类型。上述第3种方式是利用反射获取泛型参数化类型的实例对象的一种方法,但需要注意处理异常和边界情况。


本文标签: 类型 参数 泛型 获取 实例