繁体   English   中英

compareTo方法(在Comparable接口中)是否是递归的?

[英]Is the compareTo method (in the Comparable interface) recursive?

我正在实现Comparable接口,并使用它来比较运动队的名称。 我注意到这是compareTo方法的最简单实现。 我想知道为什么方法compareTo在方法主体中引用自身。 那不是某种永无止境的递归吗? 如何通过将其定义为方法来实现方法?

public int compareTo(Team x)
{
    return teamName.compareTo(x.teamName);
}

您不会提供让您感到困惑的完整代码,但是大概您提供的方法属于某个程序包的类Team ,并且大概该类的teamName字段与Team的类型不同(我假设它是java.lang.String )。 在这种情况下,您提供的方法根本不是递归的。 some.package.Team.compareTo(some.package.Team)方法调用方法java.lang.String.compareTo(java.lang.String) ,这是一个完全独立的方法。

如果teamNameString类型,则调用String的compareTo(...)

teamName可能是String 因此,它使用String.compareTo()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM