我有一个通用的接口,我想以通用的方式实现这个接口:
public interface BaseBean<T> {
public T create(T t);
public T read(Long id);
public T update(T t);
public void delete(T t);
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我也不能使实现通用.Eclipse以非泛型方式实现所有接口方法:
public class BaseBeanImpl<T> implements NewBaseBean {
@Override
public Object create(Object t) {
return null;
}
@Override
public Object read(Long id) {
return null;
}
@Override
public Object update(Object t) {
return null;
}
@Override
public void delete(Object t) {
}
@Override
public Object find(Long id) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
当我改变时:
public Object create(Object t)
Run Code Online (Sandbox Code Playgroud)
至
public T create(T t)
Run Code Online (Sandbox Code Playgroud)
我收到编译错误.我错过了什么?
Era*_*ran 11
更改
public class BaseBeanImpl<T> implements NewBaseBean
Run Code Online (Sandbox Code Playgroud)
至
public class BaseBeanImpl<T> implements NewBaseBean<T>
Run Code Online (Sandbox Code Playgroud)
当您使用原始类型时NewBaseBean,您将获得Object而不是T在您的界面的方法中.
public class BaseBeanImpl<T> implements NewBaseBean<T> {
@Override
public T create(T t) {
return null;
}
@Override
public T read(Long id) {
return null;
}
@Override
public T update(T t) {
return null;
}
@Override
public void delete(T t) {
}
@Override
public T find(Long id) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |