我想将这个简单的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...
答案 0 :(得分:0)
int
是一种原始类型,这意味着它没有方法或字段。如果您希望比较方法基于int
比较两个对象,则以下情况应该没问题:
return destIndex - ((DiffResultSpan)obj).destIndex;
如果destIndex
可能是否定的,则可能会出现整数溢出,因此您必须这样做:
int otherIndex = ((DiffResultSpan)obj).destIndex;
return destIndex < otherIndex ? -1 : (destIndex > otherIndex ? 1 : 0);