如何要求 BeanUtils 忽略空值
2022-09-04 05:06:24
使用Commons beanUtils,我想知道如何要求任何转换器说Dateconverter忽略null值并使用null作为默认值。例如,考虑一个公共类,
public class X {
private Date date1;
private String string1;
//add public getters and setters
}
和我的转换器测试为,
public class Apache {
@Test
public void testSimple() throws Exception {
X x1 = new X(), x2 = new X();
x1.setString1("X");
x1.setDate1(null);
org.apache.commons.beanutils.BeanUtils.copyProperties(x2, x1);
//throws ConversionException
System.out.println(x2.getString1());
System.out.println(x2.getDate1());
}
}
上面抛出一个 NPE,因为日期恰好为 null。这对我来说是一个非常原始的场景,应该默认处理(例如,我希望x2对date1具有空值)。doco告诉我,我可以要求转换器这样做。有人可以告诉我这样做的最佳方法吗?
我不想掌握转换器和isUseDefault()是真的,因为那样我必须为所有日期,枚举和许多其他转换器做到这一点!