
我们对于数组的创建,需要遵照一定的规则,就拿泛型数组来说,其实是不适合在java中建立的。不过也不是没有其他的方法,我们依旧可以用一些特殊的方法,达到数组的创建。本篇就以泛型数组为例,探讨其创建的方法。下面我们先就一些基本的要点进行梳理,然后带来创建的实例。
1、泛型数组说明
Java确实是不支持声明泛型数组的,当然,更准确的表达是,数组的类型不可以是类型变量,除非是采用通配符的方式。
在java中,不能通过直接通过T[] tarr=new T[10]的方式来创建数组,最简单的方式便是通过Array.newInstance(Class<T> type,int size)的方式来创建数组。
2、实例
如下面这段程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | package hash;
import java.lang.reflect.Array;
public class ArrayUtils {
public static <T> T[] newArrayByArrayClass(Class<T[]> clazz, int length) {
return (T[]) Array.newInstance(clazz.getComponentType(), length);
}
public static <T> T[] newArrayByClass(Class<T> clazz, int length) {
return (T[]) Array.newInstance(clazz, length);
}
public static void main(String[] args) {
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中创建泛型数组的方法,看完全篇文章我们可以发现,依旧可以利用其他的方法,达到创建数组的目的,学会后也赶快试试这种方法吧。更多Java学习指路:java数组