こんにちは私は、型が抽象パラメーター化クラスであるパラメーターを受け取るジェネリックメソッドを作成しようとしています。メソッド内では、抽象クラスをインスタンス化できないため、渡されたパラメーターのインスタンスを抽象型のサブクラスとして作成します。
しかし、私はいくつかの問題を抱えています。そして、エラーメッセージは、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);
}
}