0

这是我的链接堆栈程序的一些代码:

import java.util.NoSuchElementException;

class linkstack<T> {

   private class node {
      T value;
      node link;
   }

   private node top = null;

          ...

现在,我的推送函数头是这样的:

public void push (T value) {
      node temp = new node();
      temp.value =

 }

我计划将 temp 的值分配为等于 push 方法的参数中传递的值,但我不确定是否可以这样做,因为我不确定“T”到底是什么?

我还写了一个pop函数,这有意义吗?:

public T pop() {
      if (empty()) {
         throw new NoSuchElementException ("linked_stack.pop");
      } else{
         node temp = top;
         temp = top.link;
         return temp.value;

      }
   }
4

1 回答 1

0

您需要使用的泛型类型node,而不是原始类型,即:

 private class Node<T> {
     ...
   }

public void push (T value) {
      Node<T> temp = new Node();
      temp.value = value;
 }

有关泛型的介绍,请查看本教程。如需更高级的参考,请查看Anjelika Langer 的 Java 泛型常见问题解答

于 2013-11-10T07:35:21.773 回答