创建泛型数组,泛型数组,一开始我一直以为java
分享于 点击 46923 次 点评:16
创建泛型数组,泛型数组,一开始我一直以为java
一开始我一直以为java无法创建泛型数组,后来在看ArrayList源码的时候才发现其实创建方法很简单。
import java.lang.reflect.Array;/** * 数组的工具 * @author David Day */public class ArrayUtils { /** * 根据数组类型的class创建对应类型的数组 * @param <T> 目标类型 * @param clazz * @param length 数组长度 * @return */ public static <T> T[] newArrayByArrayClass(Class<T[]> clazz, int length) { return (T[]) Array.newInstance(clazz.getComponentType(), length); } /** * 根据普通类型的class创建数组 * @param <T> 目标类型 * @param clazz * @param length 数组长度 * @return */ public static <T> T[] newArrayByClass(Class<T> 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); }}//该片段来自于http://byrx.net
用户点评