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中如何创建泛型数组的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号