分析一下为什么JAVA不支持泛型类型的数组

2024-12-22 00:01:32
推荐回答(1个)
回答1:

public class ArrayUtils {

/**
* 根据数组类型的class创建对应类型的数组
* @param 目标类型
* @param clazz
* @param length 数组长度
* @return
*/
public static T[] newArrayByArrayClass(Class clazz, int length) {
return (T[]) Array.newInstance(clazz.getComponentType(), length);
}

/**
* 根据普通类型的class创建数组
* @param 目标类型
* @param clazz
* @param length 数组长度
* @return
*/
public static T[] newArrayByClass(Class clazz, int length) {
return (T[]) Array.newInstance(clazz, length);
}

public static void main(String[] args) {
// 判断一个Class是否是数组类型,可以用Class实例的isArray方法。
String[] byArray = newArrayByArrayClass(String[].class, 10);
String[] byOne = newArrayByClass(String.class, 10);
}

}