Предположим, у нас есть два класса:
@Data
class X {
private String field1;
}
@Data
class Y {
private String field2;
}
определить статический метод
static <F, T>void copy(F f, T t, Function<F, String> get, BiConsumer<T, String> set){
String value = get.apply(f);
if(value != null && value.isEmpty()){
set.accept(t, value);
}
}
и используйте его в своем коде:
X x = new X();
Y y = new Y();
copy(x, y, X::getField1, Y::setField2);