在Java和C#中编写递归方法



我想把这段简单的c#代码转换成java:

public int CompareTo(object obj)
{
return _destIndex.CompareTo(((DiffResultSpan)obj)._destIndex);
}

和我的Java代码是:

public int compareTo(object obj)
{
return destIndex.compareTo(((DiffResultSpan)obj).destIndex);
}

但是我的代码有错误:"int不能被解引用"。我用net-beans编码。显然这是真的。但我不知道我该怎么办?!!

感谢

哦,谢谢。我找到了!Int在Java中不是object。我应该转换它!例如:

new Integer(destIndex).compareTo... 

Java中的int是一个基本类型,这意味着它没有方法或字段。如果您希望compare方法基于一个int比较两个对象,那么以下操作应该可以:

return destIndex - ((DiffResultSpan)obj).destIndex;

如果destIndex可能是负的,有整数溢出的机会,所以你必须做:

int otherIndex = ((DiffResultSpan)obj).destIndex;
return destIndex < otherIndex ? -1 : (destIndex > otherIndex ? 1 : 0);

相关内容

  • 没有找到相关文章

最新更新