【发布时间】:2015-11-04 06:29:15
【问题描述】:
请注意:尽管这个问题专门针对 Netflix' Hystrix 库,但本质上这绝对是一个纯 Groovy/JVM 泛型问题。任何厌战 Java/Groovy 的老手都应该能够回答这个问题,无论他们对 Hystrix 的知识/经验如何。
我想构建一个抽象基 HystrixCommand 以返回 Guava Optionals 作为它们的通用 RESULT 类型:
import com.google.common.base.Optional
import com.netflix.hystrix.HystrixCommand
abstract class BaseHystrixCommand<Optional<RESULT>> extends HystrixCommand {
// My code here...
}
但是此代码会产生以下编译器错误:
Groovy:unexpected token:
第 23 行第 42 列是 RESULT 的内开口尖括号:
...BaseHystrixCommand<Optional<RESULT...
^ right here
在这里使用 Java 8、Groovy 2.4.3、Hystrix 1.4.18 和 Guava 18.0。任何想法是什么导致了这个编译器错误?
【问题讨论】:
标签: java generics groovy guava hystrix