Merge pull request #2492 from duhanmin/2484-v

测试在非覆盖模式下,来源对象值为null则不覆盖
This commit is contained in:
Golden Looly 2022-07-29 21:16:04 +08:00 committed by GitHub
commit 4123efcad9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 1 deletions

View File

@ -292,7 +292,7 @@ public class CopyOptions implements Serializable {
}
/**
* 设置是否覆盖目标值如果不覆盖会先读取目标对象的值{@code null}则写否则忽略如果覆盖则不判断直接写
* 设置是否覆盖目标值如果不覆盖会先读取目标对象的值{@code null}则写否则忽略如果覆盖则不判断直接写
*
* @param override 是否覆盖目标值
* @return this

View File

@ -55,6 +55,26 @@ public class BeanCopierTest {
Assert.assertEquals("123", b.getValue());
}
/**
* {@code null}则写否则忽略如果覆盖则不判断直接写
*/
@Test
public void issues2484Test() {
final A a = new A();
a.setValue("abc");
final B b = new B();
b.setValue("123");
BeanCopier<B> copier = BeanCopier.create(a, b, CopyOptions.create().setOverride(false));
copier.copy();
Assert.assertEquals("123", b.getValue());
b.setValue(null);
copier = BeanCopier.create(a, b, CopyOptions.create().setOverride(false));
copier.copy();
Assert.assertEquals("abc", b.getValue());
}
@Data
private static class A {
private String value;