Maison > Java > javaDidacticiel > Comment créer un tableau générique en Java

Comment créer un tableau générique en Java

WBOY
Libérer: 2023-05-13 17:43:06
avant
3030 Les gens l'ont consulté

1. Description des tableaux génériques

Java ne prend pas en charge la déclaration de tableaux génériques. Bien sûr, une expression plus précise est que le type du tableau ne peut pas être une variable de type à moins que des caractères génériques ne soient utilisés.

En Java, vous ne pouvez pas créer un tableau directement via T[] tarr=new T[10]. Le moyen le plus simple est de le créer via le tableau Array.newInstance(Class type,int size).

2. L'exemple

est le suivant :

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());
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal