Java如何定义泛型类
时间: 2024-05-05 11:19:24 浏览: 15
Java中定义泛型类需要在类名后面添加尖括号<>,并在括号内加入泛型参数。例如,定义一个名为MyClass的泛型类,可以使用如下代码:
```
public class MyClass<T> {
private T data;
public void setData(T data) {
this.data = data;
}
public T getData() {
return data;
}
}
```
其中,T是类型参数,可以在类中使用这个类型参数来定义成员变量、方法参数和返回值的类型。创建实例时,需要指定具体的类型,例如:
```
MyClass<String> mc = new MyClass<>();
mc.setData("Hello");
String s = mc.getData(); // 获取数据,s的值为"Hello"
```
相关问题
java定义泛型类,实现栈的操作
下面是一个简单的泛型类实现栈的操作的示例:
```
public class Stack<T> {
private ArrayList<T> list;
public Stack() {
list = new ArrayList<>();
}
public void push(T item) {
list.add(item);
}
public T pop() {
if (list.isEmpty()) {
throw new NoSuchElementException();
}
return list.remove(list.size() - 1);
}
public boolean isEmpty() {
return list.isEmpty();
}
public int size() {
return list.size();
}
public T peek() {
if (list.isEmpty()) {
throw new NoSuchElementException();
}
return list.get(list.size() - 1);
}
public void clear() {
list.clear();
}
}
```
这里使用了Java中的ArrayList作为实现基础,通过泛型类的方式将栈中的元素类型定义为T。push()方法用于将元素压入栈中,pop()方法用于弹出栈顶元素并返回,isEmpty()、size()和peek()方法分别用于判断栈是否为空、获取栈中元素个数和获取栈顶元素,clear()方法用于清空栈中所有元素。
java如何定义泛型工具类
要定义一个泛型工具类,需要使用泛型参数来表示类型,下面是一个示例:
```java
public class GenericUtils<T> {
public void printArray(T[] array) {
for (T element : array) {
System.out.println(element);
}
}
}
```
上面的示例定义了一个名为 `GenericUtils` 的泛型类,使用了泛型参数 `T` 来表示类型。`GenericUtils` 类中的 `printArray` 方法接受一个泛型数组 `T[]`,并将数组中的元素打印到控制台上。
使用该泛型工具类时,需要在创建对象时指定具体的类型,例如:
```java
Integer[] intArray = { 1, 2, 3, 4, 5 };
GenericUtils<Integer> utils = new GenericUtils<>();
utils.printArray(intArray);
```
上面的示例中,我们创建了一个 `GenericUtils<Integer>` 对象,并将其用于打印 `Integer` 类型的数组。