Я использую JDK 7.
У меня есть абстрактный класс BaseEntity
, использующий дженерики:
public class BaseEntity<Id extends java.io.Serializable> {
protected Id id;
public BaseEntity() {
}
public Id getId() {
return id;
}
public void setId(Id id) {
this.id = id;
}
// also has hashCode() and equals() methods to be based on id
}
Теперь я хочу создать интерфейсчей тип будет BaseEntity
, и я также хочу, чтобы Id
из BaseEntity
был доступен в интерфейсе.Как я могу это сделать?
Я попробовал этот код:
public interface BaseLookup<T extends BaseEntity> {
T findById(Id id);
}
, но получил 2 сообщения:
- 1-е было включено
BaseEntity
.Сообщение было:
Базовый объект является необработанным типом.Ссылки на универсальный тип BaseEntity<Id>
должны быть параметризованы.
2-й был на
"Id"
.Сообщение об ошибке было:
Идентификатор не может быть преобразован в тип.
Что я здесь не так делаю?