【发布时间】:2016-09-06 14:41:10
【问题描述】:
如果我有这种情况:
interface Node {}
class EmptyNode implements Node {}
class NotEmptyNode implements Node {}
现在我有另一个课,
class List {
Node n;
}
我想做的是找到一种方法来确定获取节点列表大小的方法。我已经有逻辑了:
public int getSize(Node start) {
if (start==EmptyNode) { //Can't do this, not sure how to check if its an empty Node
return 0;
}
else {
return 1 + getSize(start.next()); //Want to add 1 and move to next Node
}
}
由于 EmptyNode 和 NotEmptyNode 都是 Node 的类型,我知道我需要实现一个我可以在接口中编写的函数,该函数将在两个类中实现,并且能够确定列表的末尾何时已经结束打。
【问题讨论】:
-
instanceof就是你要找的东西 -
是的,我调查过了,但有什么办法可以解决吗?
-
你要么需要使用.equals()要么使用.instanceof(),==比较Java中的哈希码
-
@Gala 是的,我想过使用你提到的运算符,但有没有更简洁的方法来使用 OO 规则?
-
@Darshit 我想更清楚地了解更面向对象的方式,以便更多地了解如何处理这种情况
标签: java linked-list nodes