Java通用层次结构定义
正在尝试创建一个泛型表达式求值器,该求值器根据传入求值的参数类型进行泛型
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
基于作为类型T
传入的表达式类型,如果JavaScriptExpression,R是Object等
如何使用泛型在类型定义中编码此类型信息
# 1 楼答案
您需要将
R
作为类型参数添加到Condition