Сравнение объектов, содержащих две другие ссылки на объекты - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь реализовать класс Java, содержащий две ссылки на объекты из другого класса. т.е. у меня два класса. Экземпляр класса A содержит два экземпляра из класса B. В основном я пытаюсь сравнить пару объектов с другой парой объектов с помощью метода, который возвращает истину, только если две пары объектов идентичны. Кажется, я могу сравнивать только места в памяти, а не сами объекты. Любая помощь будет принята с благодарностью!

Извинения за неясность! вот мой класс для создания базовых c объектов.

public class B {

String name;
int number;

B(String name, int number) {
    this.name = name;
    this.number = number;
}

А вот мой класс, который создает и объект, содержащий две ссылки на объекты класса B.

public class A{

Object one;
Object two;

A(Object one, Object two) {
    this.one = one;
    this.two = two;
}

Объекты класс b вызывается:

B bob = new B("Bob", 22);
B bobby = new B("Bobby", 22);
B robert = new B("Robert", 32);

Объекты класса A вызываются:

A firstPair = new A(bob,bobby);
A secondPair = new A(bobby,robert);

Итак, моя проблема переопределена методом equals () для сравнения двух экземпляров класса A. Надеюсь, это более понятно, еще раз извините!

1 Ответ

2 голосов
/ 06 мая 2020
• 1000
class B{
    public boolean equals(B that){
         //compare their attributes (what makes 2 B equals)
         return this.name.equals(that.b) && this.number == that.number;
    }
}

class A{
    private B b1;
    private B b2;
   public boolean equals(A anotherA){
      return b1.equals(anotherA.b1) && b2.equals(anotherA.b2); // (A is equal if both b1 and b2 are equal)
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...