七 . 构造集合 第4章. 表达式

列表(Lists)

 

创建一个对象列表, 只需要将一系列的表达式用大括号括起即可. 和方法参数一样, 这里的这些表达式也不能使用逗号操作符, 除非用括号括起. 下面是一个例子:

name in { null,"Untitled" }

(  这里有个in 是什么意思,哦 ,是判断name属性 是否属于集合中两个元素的一个)

这个表达式测试 name属性是否等于 null 或 "Untitled".

以上语法将创建一个List接口的实例??, 具体使用List接口的哪个实现类是不确定的.

数组

 

有时你可能需要创建Java数组 , 比如int[] 或 Integer[]之类. OGNL 支持创建这样的数组, 创建方式类似于调用构造函数, 但允许初始化数组, 数组可以通过一个既存的列表来初始化, 也可以通过一个给定的数组大小来初始化.

new int[] { 1, 2, 3 }

(用new 来初始化一个数组???  这点与java不同)

这个表达式将创建一个新的int数组, 数组包含3个整数: 1, 2, 和 3.

要创建一个元素全为 null 或全为 0 的数组, 可以使用指定数组大小的构造方式.

new int[5]

这个表达式将创建一个包含5个元素的int数组, 所有元素都初始化为0.

 

 

映射表(Maps)

 

映射表也可以通过一种特别的语法来创建. .

#{ "foo" : "foo value", "bar" : "bar value" }

这个表达式将创建一个映射表, 映射表内容初始化为 "foo" 和 "bar"以及它们对应的映射值.

高级用户如果想要选用某个特定的Map类, 可以在大括号之前指定Map类名:

#@java.util.LinkedHashMap@{ "foo" : "foo value", "bar" : "bar value" }

上面的例子将创建JDK 1.4 LinkedHashMap的一个实例, 这个类可以按插入顺序保存元素.

posted on 2016-07-11 19:52  雪的心  阅读(87)  评论(0编辑  收藏  举报

导航