我有一个界面
public interface GenericRepository<T extends GenericObject> {
String add(T t);
}
我试图按预期实现它
public class GenericMongoRepository<T extends GenericObject>
implements GenericRepository{
@Override
public String add(T t) {
return null;
}
这不起作用。接口需要这样的实现。
public class GenericMongoRepository<T extends GenericObject>
implements GenericRepository{
@Override
public String add(GenericObject genericObject) {
return null
}
答案 0 :(得分:2)
实现接口时,还需要传入T,该T取自实现(替换为类型)。
解决方案:
public class GenericMongoRepository<T extends GenericObject>
implements GenericRepository<T>{
@Override
public String add(T genericObject) {
return null;
}
答案 1 :(得分:2)
为什么从接口执行方法将参数转换为Object(或扩展YourObject)?
没有。
接口需要这样的实现。
public class GenericMongoRepository<T extends GenericObject>
implements GenericRepository
@Override
public String add(T t) {
return null;
}
不,不。它期望这样:
public class GenericMongoRepository<T extends GenericObject>
implements GenericRepository<T>
@Override
public String add(T t) {
return null;
}