gpt4 book ai didi

返回类子类型的Java方法(不是实例,类本身)

转载 作者:行者123 更新时间:2023-11-29 04:17:35 26 4
gpt4 key购买 nike

我有一个类 BaseViewHolder,它是一个基类,还有一个子类 MyViewHolder

我有一个不同的抽象类 BaseAdapter,它需要子类来实现返回 BaseViewHolder 子类的方法。我试过:

protected abstract <T extends BaseViewHolder > Class<T> getViewHolderClass();

然后我创建了一个 MyAdapter 类,它是 BaseAdapter 的子类,我实现了 getViewHolderClass 方法:

@Override
protected <T extends BaseViewHolder > Class<T> getViewHolderClass() {
return MyViewHolder.class;
}

但是我得到:

Incompatible types.
Required: Class<T>
Found: Class<path.to.my.package.MyViewHolder>

如何让 getViewHolderClass 返回一个派生自 BaseViewHolder 的类(没有不必要的转换到更一般的类或 ?,当然)?我在 StackOverflow 上找到的最接近的是 How do I make the method return type generic?但这涉及返回类实例,而我试图返回类本身

最佳答案

您需要使用 ? 通配符。

@Override
protected Class<? extends BaseViewHolder> getViewHolderClass() {
return MyViewHolder.class;
}

关于返回类子类型的Java方法(不是实例,类本身),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51338630/

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