StringStack . java package ch3; import java . util .*; public class StringStack ( private LinkedList < String > linkedList ; public StringStack )( linkedList = new LinkedList < String >(); public void push ( String name )( //将元素加入串行前端 linkedList . addFirst ( name ); public String top ()( //取得串行第一个元素 return linkedList . getFirst (; public String pop (){ //移出第一个元素 return linkedList . removeFirst (; public boolean isEmpty ()( //串行是否为空 return linkedList .isEmpty0; public static void main ( String ] args ){ StringStack sstack = new StringStack (); sstack . push (" first "); sstack . push (" second "); sstack . push (" third "); while (! sstack . isEmpty ())( System . out . println ( sstack . pop ());这段代码的类是一个存储 String 类对象的栈,请将其改造 为泛型类 GenericStack ,该类支持存储泛型类对象的元素。写出这个实验中我们容易犯的十个错误自己解决办法
时间: 2024-01-29 20:04:27 浏览: 27
改造后的泛型类 GenericStack:
```java
package ch3;
import java.util.LinkedList;
public class GenericStack<E> {
private LinkedList<E> linkedList;
public GenericStack() {
linkedList = new LinkedList<E>();
}
public void push(E element) {
// 将元素加入栈顶
linkedList.addFirst(element);
}
public E top() {
// 取得栈顶元素
return linkedList.getFirst();
}
public E pop() {
// 移出栈顶元素
return linkedList.removeFirst();
}
public boolean isEmpty() {
// 栈是否为空
return linkedList.isEmpty();
}
public static void main(String[] args) {
GenericStack<String> sstack = new GenericStack<String>();
sstack.push("first");
sstack.push("second");
sstack.push("third");
while (!sstack.isEmpty()) {
System.out.println(sstack.pop());
}
}
}
```
我们容易犯的十个错误:
1. 忘记给泛型类添加类型参数 `<E>`;
2. 没有修改类名为 GenericStack;
3. 在方法中使用了 String 类型而不是泛型类型 E;
4. 在构造函数中没有为 linkedList 实例化;
5. push 方法的参数类型为 String 而不是泛型类型 E;
6. top 方法和 pop 方法返回的类型为 String 而不是泛型类型 E;
7. 在 isEmpty 方法中没有使用泛型类型 E;
8. 在 main 方法中没有指定泛型类型参数;
9. 忘记调用 push 方法将元素加入栈中;
10. 输出时使用了 System.out.print 而不是 System.out.println。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)