Вы должны иметь возможность получить Persona
, которому соответствует поле partner
, если вы хотите стереть партнера партнера.
Учитывая код, который у вас есть, у каждого Person
должен быть соответствующий идентификатор, который является int
, то есть значением, которое хранит поле partner
.Вам понадобится какой-то способ хранения этих отображений, например Map<Integer, Persona>
, который находится вне класса Person
, и всякий раз, когда вы создаете Person
, вы должны поместить его на карту вместе с его идентификатором (который вы можете сгенерировать).как бы вам ни хотелось, пока он уникален).
С помощью этой карты вы можете получить доступ к Person
, который соответствует партнеру int
, и стереть его партнера
if (w.hasParter()) {
Person partner = personMap.get(w.getPartner());
partner.erasePartner()
}
, предполагая, чтопартнер существует на карте (которую вы можете проверить).