BigDecimal eşittir() karşı compareTo()
Basit bir test sınıfı göz önünde bulundurun:
import java.math.BigDecimal;
/**
* @author The Elite Gentleman
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BigDecimal x = new BigDecimal("1");
BigDecimal y = new BigDecimal("1.00");
System.out.println(x.equals(y));
System.out.println(x.compareTo(y) == 0 ? "true": "false");
}
}
(Bilinçli olarak) x y (nesne başvurusu) eşit olduğu, ancak program çalıştırdığınızda, aşağıdaki sonucu gösterir:
false
true
compareTo x y eşit olduğunu belirleyen compareTo() BigDecimal equals() arasındaki fark Nedir? soru:
PS: BigDecimal equals() yöntem inflate() bir yöntem olduğunu görüyorum. inflate() tam olarak ne iş yapar?
CEVAP
Cevap the JavaDoc of the equals() method:
compareTo, aksine bu yöntemBigDecimaliki nesne değeri ve ölçek eşit ise eşit (böylece 2.0, bu yöntem ile karşılaştırıldığında 2.00 eşit değil) olarak görüyor.
Diğer bir deyişle: equals() BigDecimal nesneleri denetlertam olarakaynıheryönü. compareTo() "sadece" sayısal değeri karşılaştırır.

Java Dizeleri: () compareTo vs eÅŸittir...
Eğer BigDecimal sıfırdan büyükse karşı...
Null-güvenli bir compareTo basitleştir...
Nasıl parola tuz gökkuşağı tablo saldı...
3 farklı eşittir...