Spring 3.0 の SpEL のドキュメントを読んでみた。
Collection の扱いがちょっと面白い。集合の選択と射影がサポートされている。
サンプルに無かったので、プリミティブ型の配列でどうなるか試してみたら、入力としては OKだけど、出力で Integer[] に変換される様子。また Collection 操作をつなげることもできた。
public class App2 { public static void print(Object result) { System.out.println(Arrays.toString((Integer[])result)); } public static void main(String[] args) { ExpressionParser parser = new SpelExpressionParser(); Expression even = parser.parseExpression( "#root.?[0 == #this % 2]"); Expression doub1e= parser.parseExpression( "#root.![#this * 2].?[#this > 5]"); int[] ints = {1, 2, 3, 4}; print(even.getValue(ints)); print(doub1e.getValue(ints)); } }
こんな出力が出た
[2, 4]
[6, 8]
[6, 8]
あと、Groovy から、Elvis 演算子という三項演算子の短縮形を取り込んだらしい。
null!=a ? a: b → a ?: b
名前の由来はプレスリーの髪型とのこと。Groovy 界隈ではだいぶ前からあったらしいが、不勉強で知らなかった。
0 件のコメント:
コメントを投稿