泛型类的使用场景举例并实现
时间: 2024-02-05 19:11:49 浏览: 159
泛型类的一个常见使用场景是在集合类中,例如ArrayList<T>、List<T>等。这些类可以使用泛型来支持不同类型的元素。
下面是一个简单的泛型类示例,实现一个存储任意类型元素的栈:
```java
public class MyStack<T> {
private List<T> stack;
public MyStack() {
stack = new ArrayList<>();
}
public void push(T element) {
stack.add(element);
}
public T pop() {
if (stack.isEmpty()) {
throw new NoSuchElementException("Stack is empty");
}
return stack.remove(stack.size() - 1);
}
public boolean isEmpty() {
return stack.isEmpty();
}
public static void main(String[] args) {
MyStack<Integer> intStack = new MyStack<>();
intStack.push(1);
intStack.push(2);
System.out.println(intStack.pop()); // output: 2
MyStack<String> strStack = new MyStack<>();
strStack.push("Hello");
strStack.push("World");
System.out.println(strStack.pop()); // output: World
}
}
```
这个泛型类中,T表示元素的类型。在构造器中,我们使用ArrayList来存储元素。push()方法将元素添加到栈中,pop()方法弹出栈顶元素并返回,isEmpty()方法判断栈是否为空。在main()方法中,我们分别创建了一个存储整数和字符串的栈,并向其中添加元素。
阅读全文