class TestClass <T extends SuperClass>{
public List<T> doSmth(){
///....
List testObjects = []
testObjects.add(new T(arg))
return testObjects;
}
}
class SuperClass{
}
class A extends SuperClass{
A(Arg arg){
....
}
class B extends SuperClass{
B(Arg arg){
....
}
////////test
class Main{
List <A> a
List <B> b
Main(){
this.a = new TestClass<A>().doSmth()
this.b = new TestClass<B>().doSmth()
}
}
た例外(groovy.lang.GroovyRuntimeException:スーパークラスのためのマッチングコンストラクタが見つかりませんでした)ライン上のGroovyのジェネリック医薬品の問題
testObjects.add(new T(arg))
スーパークラスがコンストラクタを持っていませんだってこれは非常に正確です。しかし、サブクラスは1つとすべてが同じシグネチャを持ち、argは同じタイプです。
いくつかのいずれかは、私の問題への解決策を見つけるために私を助けることができますか?
コンストラクタでは、AクラスとBクラスの両方で同じ型の引数が使用されます。 –