Java代码中如何创建泛型数组呢?
下文笔者讲述Java代码创建泛型数组的方法及示例分享,如下所示
创建泛型数组的实现思路
方式1:
使用反射的方式实例化一个数组
即可实现泛型数组的效果
方式2:
定义一个Object类型数组
用于存放泛型数组
如:
import java.lang.reflect.Array;
class GenericsArray {
@SuppressWarnings({ "unchecked", "hiding" })
public static <T> T[] getArray(Class<T> componentType,int length) {
return (T[]) Array.newInstance(componentType, length);
}
}
例1:创建泛型数组
import java.util.Arrays;
public class TestGenericArray {
public static void main(String[] args) {
@SuppressWarnings("static-access")
Person[] persons = new GenericsArray().getArray(Person.class, 10);
System.out.println(Arrays.toString(persons));
for (int i = 0; i < persons.length; i++) {
persons[i]=new Person(i);
}
System.out.println(Arrays.toString(persons));
}
}
Person类
public class Person {
private int id;
public Person(int id) {
this.id = id;
}
@Override
public String toString() {
return "Person [id=" + id + "]";
}
}
例2:采用一个Object数组存储泛型数组
public class GenericsArray<T> {
private Object[] array;
public GenericsArray(int size){
array = new Object[size];
}
public void put(int index, T item) {
array[index] = item;
}
@SuppressWarnings("unchecked")
public T get(int index) {
return (T)array[index];
}
}
方式1:
直接创建泛型数组
(笔者强力推荐方式1)
方式2:
采用一个Object对象存储泛型
获取数据时,根据泛型的类型进行转换提取
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


