साधारण परीक्षण वर्ग पर विचार करें:
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");
}
}
आप (होशपूर्वक) कह सकते हैं कि (वस्तु संदर्भ नहीं) के x
बराबर है y
, लेकिन जब आप प्रोग्राम चलाते हैं, तो निम्न परिणाम दिखाता है:
false
true
प्रश्न: क्या अंतर है compareTo()
और equals()
में BigDecimal
है कि compareTo
निर्धारित कर सकते हैं कि x
के बराबर है y
?
पुनश्च: मैं देख रहा हूं कि बिगडेसिमल में एक inflate()
विधि equals()
विधि है। inflate()
वास्तव में क्या करता है?
inflate()
: यह सार्वजनिक एपीआई का हिस्सा नहीं है क्योंकि यह केवल आंतरिक प्रतिनिधित्व में हेरफेर करता है और "बाहर" के लिए कोई दृश्य प्रभाव नहीं है। इसलिए जब तक आप वास्तव मेंBigDecimal
इन-डेप्थ के कार्यान्वयन का अध्ययन नहीं करना चाहते हैं , मेरा सुझाव है कि आप इस पद्धति को अनदेखा करें।