QLExpress脚本语言foreach循环的使用
近期通过对QLExpress组件的学习,接触到了foreach循环,下面举例简单介绍一下如何使用foreach循环。代码如下:
@Test
public void foreachTest() throws Exception {
Map<String, String> map = new HashMap<>();
map.put("a", "a");
map.put("b", "b");
map.put("c", "c");
map.put("d", "d");
map.forEach((k, v) -> {
System.out.println(k);
System.out.println(v);
});
List<Integer> list = Arrays.asList(1, 2, 3);
list.forEach(System.out::println);
String expr = ""
+ "map.forEach((k, v) -> {\n"
+ " System.out.println(k);\n"
+ " System.out.println(v);\n"
+ "});";
String expr2 = ""
+ "list.forEach(item ->{\n"
+ " System.out.println(item);\n"
+ "});";
DefaultContext<String, Object> context = new DefaultContext<>();
context.put("map", map);
context.put("list", list);
ExpressRunner runner = new ExpressRunner(false, true);
runner.execute(expr, context, null, false, false);
runner.execute(expr2, context, null, false, false);
}
}
可见foreach循环功能还是很强大的,可以对键值对进行循环,原理很简单,再map集合中对集合中的键值对进行循环输出。