0

Can someone please explain to me what the following code does. I am new to programming. I am having a hard time understanding what is meant by "the current object." This code is contained within a class that implements the Compareable interface. It has a conscutor that takes an int number and String description. It also has a get method for both number and description.

    @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;
4

2 回答 2

3
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 值。

于 2013-07-28T00:32:44.053 回答
0

compareTo()返回一个int以指示比较值是更大 (1)、等于 (0) 还是更小 (-1)。有什么问题?

于 2013-07-28T00:19:16.070 回答