java - CompareTo 方法(在 Comparable 接口(interface)中)是递归的吗?

标签 java recursion

我正在实现 Comparable 接口(interface),并使用它来比较运动队的名称。我注意到这是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),这是一个完全单独的方法。

关于java - CompareTo 方法(在 Comparable 接口(interface)中)是递归的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26288774/

相关文章:

Java 需要帮助实现算法

java - 为什么时间复杂度是n*n*n!对于以下算法打印字符串的所有排列?

java - 在android中使用surfaceview在应用程序中使用相机

java - 扫描仪无法读取输入

java - 使用递归函数的 n 维 HashMap

Java 递归泛型和通配符

java - 为什么将字符声明为 ''(空)会抛出异常?

java - ArrayList - 获取最高的 int 值?

Java 7 try-with-resources - try 子句中可以包含什么

go - 打印给定索引的字符串的排列