gpt4 book ai didi

java - 实现通用接口(interface)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:39 26 4
gpt4 key购买 nike

我有一个通用接口(interface),我想以通用方式实现这个接口(interface):

public interface BaseBean<T> {

public T create(T t);
public T read(Long id);
public T update(T t);
public void delete(T t);

}

出于某种原因,我也不能使实现通用。 Eclipse 以非泛型方式实现所有接口(interface)方法:

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;
}
}

当我改变时:

public Object create(Object t)

public T create(T t)

我遇到编译错误。我错过了什么吗?

最佳答案

改变

public class BaseBeanImpl<T> implements NewBaseBean

public class BaseBeanImpl<T> implements NewBaseBean<T>

当您使用原始类型 NewBaseBean 时,您会在接口(interface)的方法中得到 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;
}
}

关于java - 实现通用接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com