java中SPel中foreach用法
时间: 2024-04-24 14:25:53 浏览: 16
在Java中,SPel(Spring表达式语言)是一种强大的表达式语言,用于在Spring框架中进行动态表达式求值。使用SPel的foreach表达式,可以方便地在集合上进行迭代操作。
下面是SPel中foreach的用法示例:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
ExpressionParser parser = new SpelExpressionParser();
Expression expression = parser.parseExpression("#numbers.![#this * 2]");
List<Integer> result = (List<Integer>) expression.getValue(new StandardEvaluationContext());
System.out.println(result);
```
在上述示例中,我们首先定义了一个整数列表 `numbers`,然后使用SPel创建了一个表达式 `#numbers.![#this * 2]`。
这个表达式的含义是,对于 `numbers` 集合中的每个元素,都将其乘以2。通过 `#this` 可以获取当前迭代的元素。
最后,我们使用 `expression.getValue(new StandardEvaluationContext())` 来计算表达式的值,并将结果存储在 `result` 列表中。
运行上述代码,将会输出 `[2, 4, 6, 8, 10]`,即将原始集合中的每个元素乘以2后的结果。
通过SPel中的foreach表达式,我们可以方便地对集合中的元素进行迭代操作,并进行各种复杂的计算和转换。