我能夠比較字符串好,但想知道我如何可以排名浮點數?幫助比較使用比較器的浮點成員變量
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