Rectangle(int x, String y){
this.x=x;
this.y=y;
}
Rectangle(String y, int z){
this.z=z;
this.y=y;
}
在上面的代码中,我在xml中使用了以下内容: -
<constructor-arg type="int" value="10"/>
<constructor-arg type="java.lang.String" value="10"/>
在这种情况下工作的构造函数是第二个......为什么?春天如何决定哪一个叫
答案 0 :(得分:5)
基本上会发生这种情况,因为在调用构造函数时不会考虑参数在bean配置文件中出现的顺序。
要解决此问题,您可以使用索引属性指定构造函数参数索引。这是添加索引属性后的bean配置文件:
<bean id="rectangle" class="com.shape.rectangle" >
<constructor-arg index="0" type="int" value="10"/>
<constructor-arg index="1" type="java.lang.String" value="10"/>
</bean>