S'empêcher de comparer float membre de variables à l'aide des Comparateurs

Je suis en mesure de comparer les Chaînes fines, mais voudrais savoir comment je peux les classer des nombres à virgule flottante?

getChange() retourne une Chaîne de caractères. Je veux être en mesure de trier par ordre décroissant. Comment puis-je faire cela?

Mise à JOUR:

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;
    }
}

J'obtiens l'erreur de compilation:

This method must return a result of type int    ChangeComparator.java   
En dehors de la NaN problème, vous n'avez aucune garantie instruction de retour dans votre code. De façon réaliste, vous le faites, mais le compilateur ne peut pas dire que parce que vous avez trois différents si les déclarations. Il ne peut pas évaluer les jusqu'à l'exécution, de sorte qu'il pense que vous pourriez obtenir effectivement le dernier si l'instruction et il n'y a pas de clause de retour.

OriginalL'auteur Sheehan Alam | 2010-09-14