有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您需要将R作为类型参数添加到Condition

    public class Condition<T extends Expression<R>, R> {