Teste de igualdade de ponto flutuante. (FE_FLOATING_POINT_EQUALITY)

Estou usando um findbugs em um script ANT e não consigo descobrir como corrigir dois dos meus erros. Eu li a documentação, mas não entendo. Aqui estão meus erros e o código que os acompanha:

Erro 1: teste para igualdade de ponto flutuante. (FE_FLOATING_POINT_EQUALITY)

private boolean equals(final Quantity other) {
    return this.mAmount == convertedAmount(other);
}

Erro 2: EQ_COMPARETO_USE_OBJECT_EQUALS

public final int compareTo(final Object other) {
    return this.description().compareTo(((Decision) other).description());
}

Eu li a documentação do problema ComparesTo que declara

É altamente recomendável, mas não é estritamente necessário que (x.compareTo (y) == 0) == (x.equals (y)). De um modo geral, qualquer classe que implemente a interface Comparável e viole essa condição deve indicar claramente esse fato. O idioma recomendado é "Nota: esta classe possui uma ordem natural inconsistente com iguais".

e também os documentos sobre a igualdade de ponto flutuante

Esta operação compara dois valores de ponto flutuante para igualdade. Como os cálculos de ponto flutuante podem envolver arredondamento, os valores flutuantes e duplos calculados podem não ser precisos. Para valores que devem ser precisos, como valores monetários, considere usar um tipo de precisão fixa, como BigDecimal. Para valores que não precisam ser precisos, considere comparar a igualdade dentro de um intervalo, por exemplo: if (Math.abs (x - y) <.0000001). Consulte a Especificação da linguagem Java, seção 4.2.4.

Eu não entendo isso. Alguém por favor pode ajudar?

questionAnswers(3)

yourAnswerToTheQuestion