如何在 equals 函数的子类方法中调用受保护的变量?
How can I call a protected variable in a subclass method in an equals function?
这是一个非常简单的 equals 方法。
这是我的代码中的内容:
public boolean equals(Object other)
if (other == null) {
return false;
}
if (!(other instanceof BinaryTree)) {
return false;
}
return this.equalsUtil(this.root, other.root);
}
这是最初的问题
public class BinaryTree {
protected class Node {
//instancee variables and a constructor
}
protected Node root;
//remainder ommited for brevity
我不能调用 other.root
(Object other
是 equals 的参数),那我该怎么做呢?
注意我的class是public class MyBinaryTree extends Bina
遵循 Elliot 的建议或创建一个获取函数来定位您想要的确切值。也许制作一个函数来检查节点是否为根节点。您需要检查指向您的节点的指针是否指向与 root 相同的东西。
被保护的变量与此无关。您只需将 other
转换为 BinaryTree
,例如BinaryTree o = (BinaryTree) other; return this.equalsUtil(this.root, o.root);
这是一个非常简单的 equals 方法。
这是我的代码中的内容:
public boolean equals(Object other)
if (other == null) {
return false;
}
if (!(other instanceof BinaryTree)) {
return false;
}
return this.equalsUtil(this.root, other.root);
}
这是最初的问题
public class BinaryTree {
protected class Node {
//instancee variables and a constructor
}
protected Node root;
//remainder ommited for brevity
我不能调用 other.root
(Object other
是 equals 的参数),那我该怎么做呢?
注意我的class是public class MyBinaryTree extends Bina
遵循 Elliot 的建议或创建一个获取函数来定位您想要的确切值。也许制作一个函数来检查节点是否为根节点。您需要检查指向您的节点的指针是否指向与 root 相同的东西。
被保护的变量与此无关。您只需将 other
转换为 BinaryTree
,例如BinaryTree o = (BinaryTree) other; return this.equalsUtil(this.root, o.root);