SORU
22 Temmuz 2011, Cuma


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
22 Temmuz 2011, Cuma


Cevap the JavaDoc of the equals() method:

compareTo, aksine bu yöntem BigDecimal iki 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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • optionalinfo

    optionalinfo

    29 EKİM 2005