Java中创建通用类型的数组

Java 中的数组是使用某种数据类型生成的。另一方面,您可以使用泛型创建一个与各种对象类型一起使用的泛型数组。您可以使用泛型构建类型安全、可重用的代码。在本文中,我们将学习如何在 Java 中创建通用数组。

在 Java 中创建通用数组
Java 的泛型允许您编写接受和使用多种参数的方法、接口和类。通常,在创建类或函数时,您将利用泛型类型来构造泛型数组。

1、带有数组的通用类
下面是使用数组创建泛型类的实现:

public class GenericArray<T> { 
    private T[] array; 

    public GenericArray(int size) { 
        // 使用反射创建通用数组
        array = (T[]) new Object[size]; 
    } 

    public void setElement(int index, T value) { 
        array[index] = value; 
    } 

    public T getElement(int index) { 
        return array[index]; 
    } 

    public static void main(String[] args) { 
        GenericArray<String> stringArray = new GenericArray<>(5); 
        stringArray.setElement(0,
"Java"); 
        stringArray.setElement(1,
"is"); 
        stringArray.setElement(2,
"awesome"); 

        System.out.println(
"Element at index 1: " + stringArray.getElement(1)); 
    } 
}

2、数组的通用方法
下面是泛型方法与数组的实现:

import java.lang.reflect.Array; 
import java.util.Arrays; 

public class GenericArrayExample { 
    @SuppressWarnings("unchecked"
    public static <T> T[] createArray(int size, T defaultValue) { 
        
// 使用反射创建通用数组 ;
        T[] array = (T[]) Array.newInstance(defaultValue.getClass(), size); 
        Arrays.fill(array, defaultValue); 
        return array; 
    } 

    public static void main(String[] args) { 
        Integer[] intArray = createArray(5, 0); 
        System.out.println(
"Integer Array: " + Arrays.toString(intArray)); 

        String[] strArray = createArray(3,
"Hello"); 
        System.out.println(
"String Array: " + Arrays.toString(strArray)); 
    } 
}