试图创建一个泛化的泛型表达式计算器,用于计算传入的params类型。
public interface Expression<T> {
Boolean evaluate(LinkedHashMap<String, T> params) throws Exception
}
public class JavaScriptExpression implements Expression<Object> {
...
}我有一个条件类型,它承载这个表达式并计算它并返回它为true。
public class Condition<T extends Expression> {
private T expression;
public Optional<Step> execute(LinkedHashMap<String, R> variableMapping) {
}
}上述R中的execute(LinkedHashMap<String, R>)基于作为T类型传入的表达式类型,如果JavaScriptExpression、R是Object等。
如何使用泛型在类型定义中对此类型信息进行编码
发布于 2017-03-27 10:07:57
您需要将R作为类型参数添加到Condition中。
public class Condition<T extends Expression<R>, R> {https://stackoverflow.com/questions/43043465
复制相似问题