1、投影允许集合驱动子表达式的评估,结果是新集合。投影的语法是.![projectionExpression]。
2、例如,假设我们有一个发明者列表,但想要他们出生的城市列表。实际上,我们想要为发明人列表中的每个条目评估“placeOfBirth.city”。以下示例使用投影来执行此操作:
3、您还可以使用地图来驱动投影,在这种情况下,投影表达式将根据地图中的每个条目进行评估(表示为JavaMap.Entry)。跨地图投影的结果是一个列表,其中包含对每个地图条目的投影表达式的评估。
4、表达式模板允许将文本文本与一个或多个评估块混合。每个评估块都使用您可以定义的前缀和后缀字符分隔。一个常见的选择是#{ }用作分隔符,如下例所示:
5、通过将文本文本'random number is '与在#{ }分隔符内部计算表达式的结果(在这种情况下,调用该random()方法的结果)连接来计算字符串。
6、该parseExpression()方法的第二个参数是类型ParserContext。该ParserContext接口用于影响表达式的解析方式,以支持表达式模板功能。定义TemplateParserContext如下: