这取决于ApplicationContext
. 每个实现都可能不同,但您可以确定结果是List
. 编码文档:
另一个自定义命名空间实用程序用于创建列表。第一个 bean 定义与 ListFactoryBean 示例相同,只是它更短且更易于阅读。第二个 bean 定义是相同的,只是它使用 list-class 属性来指定要使用的 List 实现。当不使用 list-class 属性时,ApplicationContext 将选择实现类。
<util:list id="messageUtilList">
<ref bean="stringMessage01"/>
<ref bean="stringMessage02"/>
<value>Spring is fun to learn.</value>
</util:list>
<util:list id="messageUtilLinkedList"
list-class="java.util.LinkedList">
<ref bean="stringMessage01"/>
<ref bean="stringMessage02"/>
<value>Spring is fun to learn.</value>
</util:list>
检查你的实现ListFactoryBean
可以看到ArrayList
如果没有提供特定的列表类型,这是默认的列表实现。执行此任务的代码是:
if (this.targetListClass != null) {
result = (List) BeanUtils.instantiateClass(this.targetListClass);
}
else {
result = new ArrayList(this.sourceList.size());
}