小编kil*_*joy的帖子

来自接口方法的泛型被剥离

我有这个界面:

public interface Persistant<T extends BaseDaoEnabled<T, UUID>> extends Identifiable {

T getSelf();

default <P> P getInstance(DataKey<P> key) {
    return key.getDefaultInstance();
}
Run Code Online (Sandbox Code Playgroud)

以及实现它的类.我的问题是,当我调用时obj.getInstance(DataKeys.X),X是一个DataKey<X>对象,这个方法的返回类型是Object和否X,泛型类型被剥离.当我把方法放在我的对象类(不是接口)中时,它工作得很好.请参见下面的截图:

第一种方法是从界面,第二种方法是从类.他们都有相同的签名

在此输入图像描述

java generics

5
推荐指数
1
解决办法
101
查看次数

标签 统计

generics ×1

java ×1