集合投影

投影允許一個集合驅動子表示式的求值,結果是一個新集合。投影的語法是 .![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.Iterablejava.util.Map 的物件。當使用 Map 驅動投影時,投影表示式會針對 Map 中的每個條目(表示為 Java Map.Entry)進行評估。對 Map 進行投影的結果是一個列表,該列表由對每個 Map 條目評估投影表示式的結果組成。

Spring 表示式語言還支援集合投影的安全導航。

有關詳細資訊,請參閱 安全集合選擇和投影

© . This site is unofficial and not affiliated with VMware.