Rumah  >  Artikel  >  Java  >  Bagaimana untuk membuat tatasusunan generik dalam java

Bagaimana untuk membuat tatasusunan generik dalam java

WBOY
WBOYke hadapan
2023-05-13 17:43:062983semak imbas

1. Penerangan tatasusunan generik

Java tidak menyokong pengisytiharan tatasusunan generik Sudah tentu, ungkapan yang lebih tepat ialah jenis tatasusunan itu tidak boleh menjadi pembolehubah jenis melainkan Ia menggunakan kad bebas.

Dalam java, anda tidak boleh mencipta tatasusunan secara langsung melalui T[] tarr=new T[10]. .

2. Contoh

Seperti program berikut:

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());
    }
}

Atas ialah kandungan terperinci Bagaimana untuk membuat tatasusunan generik dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam