সমস্ত বস্তুর তুলনা করা যায় না, তবে সমস্ত বস্তুর সমতার জন্য পরীক্ষা করা যায়। যদি অন্য কিছু না হয় তবে মেমরির (রেফারেন্স সমতা) একই স্থানে দুটি বস্তুর উপস্থিতি রয়েছে কিনা তা দেখতে পাবে।
compareTo()এটি দুটি Threadঅবজেক্টের অর্থ কী ? কীভাবে একটি থ্রেড অন্যের চেয়ে "বড়" হয়? আপনি কিভাবে দুটি ArrayList<T>এস তুলনা করবেন ?
Objectচুক্তি প্রযোজ্য সব জাভা ক্লাস। এমনকি যদি একটি শ্রেণিকেও তার নিজস্ব বর্গের অন্যান্য দৃষ্টান্তের সাথে তুলনা করা Objectযায় না , তবে ইন্টারফেসের অংশ হওয়ার জন্য এটির প্রয়োজন হতে পারে না।
কেন কোনও শ্রেণি প্রয়োগ করতে চাইছে তা ব্যাখ্যা করার সময় জোশুয়া ব্লচ "প্রাকৃতিক অর্ডারিং" মূল শব্দটি ব্যবহার করেছেন Comparable। না যে বর্গ তাই প্রতি বর্গ বাস্তবায়ন করা উচিত হিসাবে আমি উপরে আমার উদাহরণ উল্লেখ একটি প্রাকৃতিক ক্রম আছে, Comparableকিংবা উচিত Objectআছে compareToপদ্ধতি।
... compareToপদ্ধতিটি ঘোষিত হয়নি Object। ... এটি বর্তমানে এমন চরিত্রে অনুরূপ Object'র equalsপদ্ধতি ছাড়া এটা সহজ সমতা তুলনা ছাড়াও অর্ডার তুলনা অনুমতি দেয়, এবং এটি জেনেরিক হয়। প্রয়োগ করে Comparable, একটি শ্রেণি নির্দেশ করে যে এর দৃষ্টান্তগুলির একটি প্রাকৃতিক ক্রম রয়েছে ।
কার্যকর জাভা, দ্বিতীয় সংস্করণ : জোশুয়া ব্লচ। আইটেম 12, পৃষ্ঠা 62. উপবৃত্তগুলি অন্যান্য অধ্যায় এবং কোড উদাহরণগুলির উল্লেখগুলি সরিয়ে দেয়।
ক্ষেত্রে যেখানে তোমার জন্য না একটি অ উপর একটি ক্রম আরোপ করতে চান Comparableযে একটি প্রাকৃতিক ক্রম নেই বর্গ, আপনি সবসময় এমন একটি সরবরাহ করতে পারে Comparatorসাহায্যের জন্য উদাহরণস্বরূপ সাজানোর এটা।