0

我收到“java.lang.string 无法转换为节点”异常。我想使用提供的 toString 方法将 localRoot 转换为字符串,然后将它们进行比较,这不会留下我需要导航 BST 的“大于”或“小于”的概念......

 int computeResult = ((Node<E>)o).compareTo(localRoot);

其中 o 是 Object 类型 localRoot 是 Node 类型 compareTo 方法需要一个 Node

4

2 回答 2

0

有趣的是,这个周末我花了一些时间研究Java 二叉树的实现。看看你是怎么想的。

于 2009-10-19T00:22:16.327 回答
0

String 确实有一个 compareTo 方法,该方法确实具有大于和小于的概念

所以你可以把那行代码写成:

int computeResult = o.toString().compareTo(localRoot.toString());

来自 java.lang.string 的 Javadocs:

public int compareTo(String anotherString)

指定者:Comparable接口中的compareTo

参数: anotherString - 要比较的字符串。

返回: 如果参数字符串等于该字符串,则值为 0;如果此字符串按字典顺序小于字符串参数,则值小于 0;如果此字符串按字典顺序大于字符串参数,则值大于 0。

于 2009-10-19T00:34:31.840 回答