除了groovy比java更动态之外...为什么这是groovy中的编译时错误(意外标记<):
<
interface A { <T> T getByClass(Class<T> clazz) }
我该怎么写这个很棒的方式?
iszxjhcz1#
Groovy解析器不处理以泛型信息开头的方法签名...如果您加入public修饰词,则会进行剖析:
interface A { public <T> T getByClass( Class<T> clazz ) }
尽管我不相信在编译时添加此注解会得到任何类型检查
slsn1g292#
为了完整起见,您可以使用def代替public,结果是相同的,因为groovy中的方法默认是公共的。
def
public
interface A { def <T> T getByClass( Class<T> clazz ) }
2条答案
按热度按时间iszxjhcz1#
Groovy解析器不处理以泛型信息开头的方法签名...
如果您加入public修饰词,则会进行剖析:
尽管我不相信在编译时添加此注解会得到任何类型检查
slsn1g292#
为了完整起见,您可以使用
def
代替public
,结果是相同的,因为groovy中的方法默认是公共的。