2012-07-06 76 views
-3

任何人都可以解释下列代码是如何工作的?Java中的comapareTo方法如何工作?

public int compareTo(Object o) { 
    if (o instanceof Item) { 
     return date1.compareTo(((Item) o).getDate2()); 
    } 
    return -1; 
} 
+1

它不可能在不知道getDate2()返回的情况下解释代码。 – adamjmarkham 2012-07-06 02:07:00

+1

该代码完全按照它所做的。没有办法解释*为什么*代码没有看到更广泛的上下文。通过它自己,这种方法看起来有点奇怪。 – Corbin 2012-07-06 02:07:46

+0

没有更多的代码就无法解释。至少,date1和getDate2()的定义。 – Sabbath 2012-07-06 02:10:40

回答

0

它检查对象o是一个项目,然后对它们进行比较时,比较函数返回值,-1,0和1。

如果返回值为0则表示对象是一样的,如果它返回-1或1就说它们不一样。

最后的返回是默认catch,所以如果对象o不是那个item类型,则返回不匹配。