【问题标题】:comparing a Node and an Object with a BST data structure将节点和对象与 BST 数据结构进行比较
【发布时间】:2009-10-19 00:07:38
【问题描述】:

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

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

在哪里 o 是 Object 类型 localRoot 是 Node 类型 compareTo 方法需要一个节点

【问题讨论】:

    标签: java object compare compareto


    【解决方案1】:

    有趣的是,这个周末我花了一些时间在Java binary tree implementation 上工作。看看你的想法。

    【讨论】:

      【解决方案2】:

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

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

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

      来自 java.lang.string 的 Javadocs:

      public int compareTo(String anotherString)

      指定者:接口中的 compareTo 可比

      参数:anotherString - 字符串 进行比较。

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

      【讨论】:

        猜你喜欢
        • 2019-04-20
        • 2021-08-29
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 2022-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多