Generics Groovy-泛型常量中的特征
在Groovy中使用Trait作为扩展约束有一个问题。 问题可以概括如下: 以下工作:Generics Groovy-泛型常量中的特征,generics,groovy,traits,generic-constraints,Generics,Groovy,Traits,Generic Constraints,在Groovy中使用Trait作为扩展约束有一个问题。 问题可以概括如下: 以下工作: interface AInterface { String getA() } trait ATrait implements AInterface { String a } class AClass implements ATrait {} class GenericClass<T extends AInterface> {} GenericClass<AClass>
interface AInterface {
String getA()
}
trait ATrait implements AInterface {
String a
}
class AClass implements ATrait {}
class GenericClass<T extends AInterface> {}
GenericClass<AClass> instance
但以下情况并非如此:
interface AInterface {
String getA()
}
trait ATrait implements AInterface {
String a
}
class AClass implements ATrait {}
class GenericClass<T extends ATrait> {} // XXX: instead of AInterface
GenericClass<AClass> instance
这对我来说毫无意义也许是Groovy中的一个bug?我在2.5.8和3.0.0RC版本中尝试了groovyc和groovy
感谢您的帮助,traits对我非常有用,我不想引入虚拟接口作为通用constant,即使这是一种解决方法