Jestem w stanie porównać ciągi Strings, ale chciałbym wiedzieć, w jaki sposób mogę ustawić liczby zmiennoprzecinkowe?Pomaganie w porównywaniu zmiennych zmiennych swobodnych za pomocą Komparatorów
Funkcja getChange() zwraca ciąg znaków. Chcę móc sortować malejąco. Jak mogę to zrobić?
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;
}
}
otrzymuję błąd czasu kompilacji:
This method must return a result of type int ChangeComparator.java
Poza kwestią NaN, nie masz zagwarantowane instrukcji return w kodzie. Realistycznie to robisz, ale kompilator nie może tego powiedzieć, ponieważ masz trzy różne instrukcje if. Nie można ich przetestować do czasu wykonania, więc wydaje się, że można pominąć ostatnią instrukcję if i nie ma klauzuli return. – Matt