সাধারণ পরীক্ষার শ্রেণি বিবেচনা করুন:
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()
: এটি সর্বজনীন API এর অংশ নয় কারণ এটি কেবল অভ্যন্তরীণ উপস্থাপনাকে ম্যানিপুলেট করে এবং "বাইরের" তে কোনও দৃশ্যমান প্রভাব রাখে না। সুতরাং যদি না আপনি সত্যিইBigDecimal
গভীরতার বাস্তবায়ন অধ্যয়ন করতে চান তবে আমি আপনাকে এই পদ্ধতিটি উপেক্ষা করার পরামর্শ দিই।