Sono in grado di confrontare le stringhe, ma vorrei sapere come posso classificare i numeri in virgola mobile?Aiuto per confrontare le variabili membro float usando Comparators
getChange() restituisce una stringa. Voglio essere in grado di ordinare decrescente. Come posso fare questo?
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;
}
}
sto ottenendo l'errore di compilazione:
This method must return a result of type int ChangeComparator.java
A parte il problema NaN, non si ha un'istruzione return garantito nel codice. Realisticamente lo fai, ma il compilatore non può dirlo perché hai tre diverse istruzioni if. Non è in grado di valutarli fino al runtime, quindi pensa che si possa effettivamente superare l'ultima istruzione if e non ci sono clausole di ritorno. – Matt