在此示例中,我们显示如何设置索引属性的值。在下面的代码中,我们修改了数组类型的值。我们要改变的第二颜色MyBean的colors属性。
我们以与使用该PropertyUtils.setSimpleProperty方法相同的方式进行操作。对于索引属性,我们使用该PropertyUtils.setIndexedProperty方法并传递四个参数,它们是要操作的bean的实例,索引属性名称,要更改的索引以及最后一个新值。
package org.nhooo.example.commons.beanutils; import org.apache.commons.beanutils.PropertyUtils; import java.util.Arrays; public class PropertySetIndexedExample { public static void main(String[] args) { String[] colors = new String[]{"red", "green", "blue"}; MyBean myBean = new MyBean(); myBean.setColors(colors); System.out.println("Colors = " + Arrays.toString(myBean.getColors())); try { PropertyUtils.setIndexedProperty(myBean, "colors", 1, "orange"); } catch (Exception e) { e.printStackTrace(); } System.out.println("Colors = " + Arrays.toString(myBean.getColors())); } }
package org.nhooo.example.commons.beanutils; public class MyBean { private String[] colors; public void setColors(String[] colors) { this.colors = colors; } public String[] getColors() { return colors; } }
此代码的输出是:
Colors = [red, green, blue] Colors = [red, orange, blue]
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependency>