আমি উত্পন্ন করতে .equals()
এবং গ্রহণের জন্য Eclipse ব্যবহার করছি .hashCode()
এবং "প্রকারের সাথে তুলনা করতে 'উদাহরণ ব্যবহার করুন' লেবেলযুক্ত একটি বিকল্প রয়েছে। ডিফল্টটি এই বিকল্পটি চেক করা না হওয়ার জন্য এবং .getClass()
ধরণের তুলনা করার জন্য ব্যবহার করা হয়। আমার .getClass()
বেশি পছন্দ করার কোনও কারণ আছে কি instanceof
?
ব্যবহার না করে instanceof
:
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ব্যবহার instanceof
:
if (obj == null)
return false;
if (!(obj instanceof MyClass))
return false;
আমি সাধারণত instanceof
বিকল্পটি পরীক্ষা করি এবং তারপরে প্রবেশ করে " if (obj == null)
" চেকটি সরিয়ে ফেলি । (এটি অনর্থক যেহেতু নাল বস্তু সর্বদা ব্যর্থ হবে instanceof
)) কোনও খারাপ ধারণা আছে এমন কোনও কারণ আছে কি?
x instanceof SomeClass
যদি মিথ্যাx
হয়null
। সুতরাং, দ্বিতীয় সিনট্যাক্সের নাল চেকের দরকার নেই।