有人能向我解释一下以下代码的作用吗。我是编程新手。我很难理解"当前对象"的含义此代码包含在实现Comparable接口的类中。它有一个conscutor,它接受int数字和String描述。它还有一个用于数字和描述的get方法。
@Override
public int compareTo (Object o)
{
Item i = (Item) o;
if (this.getNumber () < i.getNumber())
return -1;
if (this.getNumber () > i.getNumber())
return 1;
return 0;
Item i = (Item) o;
此行将传入对象o强制转换为Item类,然后将其存储在i上。
if (this.getNumber () < i.getNumber())
此行将接收的对象与从调用方法的对象进行比较,特别是它们的数字字段。
return 0;
只有在不满足之前的任何条件的情况下,才能到达此行。在这种情况下,当this.getNumber()等于i.getNumber().时,它返回0
int x = objectOne.compareTo(objectTwo);
该假设行将相应的返回值分配给x。
例如,如果objectOne.getNumber()小于objectTwo.getNumber(),则x将被赋值为-1。
compareTo()
返回一个int
,指示比较值是否大于(1)、等于(0)或小于(-1)。怎么了?