Как определить класс объекта, расширяющего абстрактный класс - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь разместить общую функциональность для сущностей JPA в классе Abstract:

@MappedSuperclass
public abstract class AbstractEntity implements java.io.Serializable {
    private static final Logger log = LoggerFactory.getLogger(ConcreteClass.class);

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private UUID uuid;

@Override
public int hashCode() {
    return getUuid().hashCode();
}
@Override
public boolean equals(final Object obj) {
    if (this == obj)
        return true;
    if (!(obj instanceof ConcreteClass))
        return false;
    return getUuid().equals(((ConcreteClass) obj).getUuid());
}

Возможно ли это / полезно?Как класс Abstract определяет конкретный класс?

Ссылки на комментарии ниже (рабочий код):

@Override
public boolean equals(final Object obj) {
    if (this == obj)
        return true;
    if (obj instanceof AbstractEntity && this.getUuid().equals(((AbstractEntity)obj).getUuid()))
        return true;
    return false;
}

1 Ответ

0 голосов
/ 12 июня 2018

Ты не.Все, что вас действительно волнует, это

obj instanceof AbstractEntity && this.getUuid().equals(((AbstractEntity)obj).getUuid())

и, возможно,

this.getClass() == obj.getClass()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...