我能够比较字符串好,但想知道我如何可以排名浮点数?帮助比较使用比较器的浮点成员变量
getChange()返回一个字符串。我想能够降序排序。我怎样才能做到这一点?
UPDATE:
package org.stocktwits.helper;
import java.util.Comparator;
import org.stocktwits.model.Quote;
public class ChangeComparator implements Comparator<Quote>
{
public int compare(Quote o1, Quote o2) {
float change1 = Float.valueOf(o1.getChange());
float change2 = Float.valueOf(o2.getChange());
if (change1 < change2) return -1;
if (change1 == change2) return 0; // Fails on NaN however, not sure what you want
if (change2 > change2) return 1;
}
}
我收到编译时错误:
This method must return a result of type int ChangeComparator.java
除了NaN的问题,你必须在你的代码没有保证return语句。实际上你是这样做的,但是编译器不能说出来,因为你有三个不同的if语句。它不能直到运行时才评估它,所以它认为你实际上可以通过最后一条if语句并且没有返回子句。 – Matt 2012-07-24 19:04:21