Убрать cast class в generic методе

Как убрать каст класса в методе Save, использую generic и делаю implement интерфейса.

public interface TableOperations<T> {
 T save(T obj) throws SQLException;
}

@Override
public Object save(Object obj) throws SQLException {
    Pupil pupil = (Pupil) obj;
    return pupil;
}

Ответы (1 шт):

Автор решения: insolor

Нужно указать, что ваш класс реализует TableOperations<Pupil> (вместо T подставить конкретный класс):

public interface TableOperations<T> {
 T save(T obj) throws SQLException;
}
 
public class SomeClass implements TableOperations<Pupil> {
 
    @Override
    public Pupil save(Pupil pupil) throws SQLException {
 
        return pupil;
    }
 
}
→ Ссылка