如何定义和使用泛型类?
时间: 2023-06-25 08:02:42 浏览: 73
泛型类是一个具有类型参数的类,可以在类的定义中使用这些类型参数。泛型类的定义使用尖括号(<>)来指定其类型参数,类的方法和属性可以使用这些类型参数。
以下是一个泛型类的示例:
```java
public class MyList<T> {
private T[] array;
public MyList(int size) {
array = (T[]) new Object[size];
}
public T get(int index) {
return array[index];
}
public void set(int index, T value) {
array[index] = value;
}
}
```
在这个示例中,我们声明了一个泛型类 `MyList`,它有一个类型参数 `T`。我们可以在类的定义中使用这个类型参数来声明数组 `array`。注意,我们在构造函数中使用了类型转换 `(T[])`,这是因为 Java 不允许我们直接创建泛型数组。
我们可以通过以下方式使用这个泛型类:
```java
MyList<String> list = new MyList<>(10);
list.set(0, "Hello");
String greeting = list.get(0);
```
在这个示例中,我们创建了一个 `MyList` 类型的对象,并指定 `T` 的类型参数为 `String`。我们可以使用 `set` 方法将字符串 "Hello" 存储在数组的第一个位置,并使用 `get` 方法获取该位置的值。
使用泛型类可以让我们更加灵活地编写可重用的代码,因为我们可以在使用时指定类型参数来适应不同的需求。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)