您好,欢迎访问一九零五行业门户网

java中如何创建泛型数组

1、泛型数组说明
java确实是不支持声明泛型数组的,当然,更准确的表达是,数组的类型不可以是类型变量,除非是采用通配符的方式。
在java中,不能通过直接通过t[] tarr=new t[10]的方式来创建数组,最简单的方式便是通过array.newinstance(class<t> type,int size)的方式来创建数组。
2、实例
如下面这段程序:
package hash; 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);         system.out.println(byarray.getclass().isarray());        system.out.println(byone.getclass().isarray());    }}
以上就是java中如何创建泛型数组的详细内容。
其它类似信息

推荐信息