Java 如何将一个对象与一个可比较的对象进行比较?

Java 如何将一个对象与一个可比较的对象进行比较?,java,tree,binary-tree,binary-search-tree,comparable,Java,Tree,Binary Tree,Binary Search Tree,Comparable,我有一个类赋值,其中我需要将一个目标排序到一个二叉树节点中,在给定根的情况下,我需要将其与根进行比较,如果目标小于根的值,则将目标作为左子级,如果目标大于根的值,则将目标作为右子级 我必须使用给定的方法头和参数,我的代码也是这样编写的: 公共静态布尔查找(TreeNode t,x) { TreeNode p=t; 如果(t==null) 返回false; while(p!=null) { 如果(p.getValue()==x) 返回true; else if(p.getValue()

我有一个类赋值,其中我需要将一个目标排序到一个二叉树节点中,在给定根的情况下,我需要将其与根进行比较,如果目标小于根的值,则将目标作为左子级,如果目标大于根的值,则将目标作为右子级

我必须使用给定的方法头和参数,我的代码也是这样编写的:

公共静态布尔查找(TreeNode t,x)
{
TreeNode p=t;
如果(t==null)
返回false;
while(p!=null)
{
如果(p.getValue()==x)
返回true;
else if(p.getValue()}
看起来
x
是您的
可比较的
界面。您应该对此参数调用
compareTo
方法,然后将结果与
0
进行比较。可比较的有一些用法示例。
compareTo
函数返回:

负整数、零或正整数,因为此对象小于、等于或大于指定对象


出现错误的原因是,起初,您试图应用
Oh!我忘了澄清一下,这是一个字符串树(虽然更像是单字母字符),所以我想它会自动有一个比较。你能发布
TreeNode
类吗?这样会更容易看到发生了什么。你的方法确实有效,所以谢谢你!但是好的,我会更新原始帖子。如果它是一个字符串,你可以在上面使用
.compareTo
,但只能对另一个字符串使用,不能对
可比的
对象使用。e、 例如,
“str1”。与“str2”相比
// checking if x is less than p's value
if (x.compareTo(p.getValue()) < 0) { ... }

// checking if x is greater than p's value
if (x.compareTo(p.getValue()) > 0) { ... }

// checking if x is equal to p's value
if (x.compareTo(p.getValue()) == 0) { ... }