嗨,我正在尝试创建一个通用方法,该方法接受一个类型为抽象参数化类的参数。在方法内部,我想创建传递参数的实例,因为它是抽象类型的子类,因为我们无法实例化抽象类。
但是我遇到了一些问题。并且错误消息说 RuleType 无法解析为无论如何都不足为奇的类型,但我不知道如何实现这一点。我当前的代码如下。
private <F extends AbstractRule<T>, T> void applyRyle(F cRule,ArrayList<T> aFeatures)
{
Class RuleType = cRule.getClass();
// if the parameter passed is a subclass of AbstractRule create some objects
if(!RuleType.getSuperclass().getName().equals("AbstractRule"))
{
ArrayList<RuleType<T>> aRules = new ArrayList<RuleType<T>>();
for(int i = 0; i < 10; i++)
{
RuleType<T> aRule= new RuleType<T(pattern.getMatrices().size(), 2,aFeatures);
aRule.initialise(aRule.getMaxLocalLevel());
aRules.add(aRule);
}
}