假设我像这样构建了一个整数节点:
Node<Integer> node = new Node<Integer>(0, new Node<Integer>(1, new Node<Integer>(2, null)));
并获得一个看起来像“0 ---> 1 ---> 2”的节点。
我的目标是,当我运行像 node = node * 4 + 28;
这样的命令时,节点将看起来像“28 ---> 32 ---> 36”,不使用诸如 multiply(...)
之类的函数。
也就是说,node = node * 4 + 28
而不是 node.multiply(4); node.add(28);
(除非它在较大的解析函数中用作私有(private)函数 - 我希望尽可能避免使用该函数。)
有没有一种方法可以像 Java 中那样枚举节点和其他数据结构(如队列和堆栈)?
(小提示:Node 本身是通用的。不过,它不必与字符串一起使用。不过,如果可以的话那就太好了。)
提前致谢!
对于那些感兴趣的人来说,Node 看起来像这样:
public class Node<T> {
private T info;
private Node<T> next;
...
}
最佳答案
public class Node {
private int value = 0;
private Node next = null;
...
public void multiply(int num) {
value *= num;
if (next != null)
next.multiply(num);
}
}
关于java - 如何在Java中基于节点枚举对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566454/