在java&中编写递归方法C#

时间:2014-06-29 09:11:32

标签: java c# dereference

我想将这个简单的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编写了它。显然这是真的。但我不知道该怎么办?!!

感谢

哦,谢谢。我发现了! java中的int不是object.and我应该转换它!例如:

new Integer(destIndex).compareTo... 

1 个答案:

答案 0 :(得分:0)

Java中的

int是一种原始类型,这意味着它没有方法或字段。如果您希望比较方法基于int比较两个对象,则以下情况应该没问题:

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

如果destIndex可能是否定的,则可能会出现整数溢出,因此您必须这样做:

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