将Node和Object与BST数据结构进行比较

时间:2009-10-19 00:07:39

标签: java object compare compareto

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

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

,其中 o是Object类型 localRoot属于Node类型 compareTo方法接受一个Node

2 个答案:

答案 0 :(得分:0)

好笑,我本周末花了一些时间来处理Java binary tree implementation。看看你怎么想。

答案 1 :(得分:0)

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

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

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

来自Javadocs for java.lang.string:

  

public int compareTo(String anotherString)

     

指定者:接口中的compareTo   可比较

     

参数:anotherString - String   待比较。

     

返回:参数值为0   string等于这个字符串;一个   如果此字符串为小于0的值   按字典顺序小于字符串   参数;和一个大于0的值   如果这个字符串按字典顺序排列   大于字符串参数。