如何在Spring中设置TreeSet的参数值?
public class Trainer {
String name;
TreeSet<String> batches;
public Trainer(String name, TreeSet<String> batches) {
super();
this.name = name;
this.batches = batches;
}
@Override
public String toString() {
StringBuilder x=new StringBuilder();
x.append("trainer:").append(name).append("\n");
x.append("batches:\n");
for(String a :batches)
{
x.append(a).append("\n");
}
return x.toString();
}
}
//这是配置文件
<beans>
<bean id="abc" class="Trainer">
<constructor-arg value="asfsad"/>
<constructor-arg>
<set>
<value>kasdaskdnas</value>
<value>sjbdlsas;dkas</value>
</set>
</constructor-arg>
</bean>
</beans>
这在尝试为它创建对象时抛出异常,无法将类型为[java.util.LinkedHashSet]的构造函数参数值转换为所需类型[java.util.TreeSet]:
答案 0 :(得分:4)
您可以使用util:set
代码
<beans>
<bean id="abc" class="Trainer">
<constructor-arg value="asfsad" />
<constructor-arg>
<util:set set-class="java.util.TreeSet">
<value>kasdaskdnas</value>
<value>sjbdlsas;dkas</value>
</util:set>
</constructor-arg>
</bean>
</beans>
答案 1 :(得分:0)
您可以使用Set
属性控制要用于Sring管理集的set-class
的实施。
这样的事情:<set set-class="java.util.TreeSet">