আমি একটি String
ক্ষেত্র দিয়ে একটি ক্লাস নির্মাণ । তারপরে আমি দুটি অবজেক্ট তৈরি করেছি এবং আমাকে ==
অপারেটর ব্যবহার করে এবং তাদের তুলনা করতে .equals()
হবে। আমি যা করেছি তা এখানে:
public class MyClass {
String a;
public MyClass(String ab) {
a = ab;
}
public boolean equals(Object object2) {
if(a == object2) {
return true;
}
else return false;
}
public boolean equals2(Object object2) {
if(a.equals(object2)) {
return true;
}
else return false;
}
public static void main(String[] args) {
MyClass object1 = new MyClass("test");
MyClass object2 = new MyClass("test");
object1.equals(object2);
System.out.println(object1.equals(object2));
object1.equals2(object2);
System.out.println(object1.equals2(object2));
}
}
সংকলনের পরে এটি ফলাফল হিসাবে দুটি বার মিথ্যা দেখায়। দুটি বস্তুর একই ক্ষেত্র থাকলে - "পরীক্ষা" কেন এটি মিথ্যা?
equals
এবংequals2
: যে কোনও সময় আপনার কাছে ফর্মের কিছু রয়েছে যাif(a) { return true; } else { return false; }
সম্ভবত লিখে রাখা উচিতreturn a
।