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