我有一个非常基本的疑问! {{}}和 - >是什么意思是,这对于以下枚举意味着什么?
public enum BuyUsedFeatureFilters implements FeatureFilter {
BuyUsedContext {{
requestProperty =
req -> isBuyUsedContext(req);
}};
RequestProperty<Boolean> requestProperty;
PropertyCondition defaultCondition = PropertyCondition.IGNORE;
@Override
public RequestProperty<Boolean> requestProperty() {
return requestProperty;
}
private static boolean isBuyUsedContext(RequestContext requestContext){
String buyUsedParam = requestContext.getParameters().get("buyUsedParam");
if (StringUtils.equals(buyUsedParam, "buyUsed")) {
return true;
}
return false;
}
}
答案 0 :(得分:2)
JLS #8.9.2允许使用该语法(强调我的):
除枚举常量外,枚举声明的主体可能包含构造函数和成员声明 以及实例和静态初始化器 。
在您的情况下,它是一个实例初始值设定项,它为requestProperty
字段赋值。在您的示例中,为其分配了一个lambda表达式。