繁体   English   中英

Groovy 泛型失败

[英]Groovy Generics failure

除了 groovy 比 java 更具动态性...

为什么这是 groovy 中的编译时错误(意外的令牌< ):

interface A {
     <T> T getByClass(Class<T> clazz)
}

我如何以时髦的方式写这个?

Groovy 解析器不处理以通用信息开头的方法签名......

如果您添加 public 修饰符,它会解析:

interface A {
  public <T> T getByClass( Class<T> clazz )
}

虽然我不相信你会在编译时获得任何类型检查来添加这个注释

只是为了完整性。 您可以使用def而不是public 结果是相同的,因为 groovy 中的方法默认是公共的。

interface A {
  def <T> T getByClass( Class<T> clazz )
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM