|
对于最新的稳定版本,请使用 Spring Framework 7.0.6! |
集合投影
投影允许集合驱动子表达式的求值,结果将生成一个新集合。投影的语法为.![projectionExpression]。例如,
假设我们有一个发明家列表,但需要获取他们出生城市的列表。
实际上,我们需要为发明家列表中的每个条目求值placeOfBirth.city。以下示例使用投影实现该操作:
-
Java
-
Kotlin
// evaluates to ["SmilJan", "Idvor"]
List placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext, List.class);
// evaluates to ["SmilJan", "Idvor"]
val placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext) as List<*>
投影支持数组以及任何实现 java.lang.Iterable 或 java.util.Map 的内容。当使用映射来驱动投影时,投影表达式会针对映射中的每个条目进行评估(表示为 Java Map.Entry)。通过对映射进行投影的结果是一个列表,该列表由对每个映射条目进行投影表达式评估的结果组成。