在Java中,引用类型和泛型可以配合使用来实现更加灵活和安全的数据结构和算法。下面是一些示例:
class Node<T> {
private T data;
private Node<T> next;
public Node(T data) {
this.data = data;
this.next = null;
}
// 省略其他方法
}
在这个示例中,Node类使用泛型T来定义数据类型,可以在创建Node对象时指定具体的数据类型。
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
for(String str : list) {
System.out.println(str);
}
在这个示例中,使用泛型List
class Stack<T> {
private List<T> stack = new ArrayList<>();
public void push(T data) {
stack.add(data);
}
public T pop() {
if(stack.isEmpty()) {
throw new EmptyStackException();
}
return stack.remove(stack.size() - 1);
}
}
在这个示例中,使用泛型T来定义Stack类中元素的数据类型,使得Stack类可以存储任意类型的元素。
总的来说,引用类型和泛型可以配合使用来提高代码的灵活性和安全性,使得代码更加易于维护和扩展。