二叉树 toString 即使在覆盖后也打印哈希码

Binary Tree toString prints hashcode even after override

我制作了一个将字符(字母)插入二叉搜索树的程序。我没有遇到任何错误,但是当我调用 toString 方法时,它仅 打印输出的一部分,哈希码为 ht=10 [K=G R=BTNode@5b6f7412]。我可能忽略了一些东西,所以如果你能帮助我,我将不胜感激。谢谢!

预期输出 (不是准确的输出,而是这种格式) ht=2 [K=A L=[K=B R=[K=C]] R=[K=D L=[K=E]]]

toString 方法

public String toString()
    {
        String s = "";
        BTNode<T> n = root;
        
        if (n == null)
        {
            return "";
        }
        
        if (n != null) 
        {
            s = "ht=" + height + " [K=" + n.info;
            
            if (n.left != null)
            {
                s = s + " L=" + n.left.toString() + "]"; 
            }
            if (n.right != null)
            {
                s = s + " R=" + n.right.toString() + "]";
            }
        }
        return s;
    }

主要Class

public static void main(String args[]) 
    {
        BST<Character> bst = new BST<>(); // instantiate BST object
        
        // insert values to bst
        bst.insert('A');
        bst.insert('B');
        bst.insert('C');
        bst.insert('D');
        bst.insert('E');
        bst.insert('F');
        
        // print bst1
        System.out.println(bst.toString());
    }

您必须在 BTNode 中编写具有确切签名 public String toString() 的方法。

public String toString(BTNode<N>) 无济于事。