java 如何根据不同的输入动态验证空字段

f87krz0w  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(158)

我想动态验证POJO字段。

Class MyPOJO {
    private String field1;
    private String field2;
    private String filed3;
}

有一个包含字段名的列表可以帮助我完成此操作。例如,在方法1中,field1和field2不应为空,因此List<String> nonNullFields应具有field1和field2。在方法2中,field3不应为空,nonNullfields将仅具有field3。
该方法如下所示:
public boolean nullCheck(MyPojo pojo, List<String> nonNullFields)

cwxwcias

cwxwcias1#

您需要这样的东西吗?

public class MyPojo {
    private String field1;
    private String field2;
    private String field3;
    
    public static boolean nullCheck(MyPojo pojo, List<String> nonNullFields) {
        return nonNullFields.stream().allMatch( field -> {
            try {
                return MyPojo.class.getDeclaredField(field).get(pojo) != null;
            } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException ex) {
                Logger.getLogger(MyPojo.class.getName()).log(Level.SEVERE, null, ex);
                return false;
            }
        });
    }
}

相关问题