Java 如何查找DTO中是否至少有一个字段为空

Java 如何查找DTO中是否至少有一个字段为空,java,spring-batch,dto,Java,Spring Batch,Dto,我用Spring批处理一批。 在处理器中,我必须处理大约20个字段的DTO 从功能上讲,如果没有字段是空的,我就无事可做。 所以我首先想知道,如果没有字段是空的 但我真的不想用20个做if DTO.getValue1!=null&&DTO.getValue2!=空[…] 我想知道是否会有一个更干净的方法来做到这一点 thx。您可以使用反射进行验证。在DTO中定义一个isNull方法来检查null字段 public boolean isNull() { Field fields[]

我用Spring批处理一批。 在处理器中,我必须处理大约20个字段的DTO

从功能上讲,如果没有字段是空的,我就无事可做。 所以我首先想知道,如果没有字段是空的

但我真的不想用20个做if

DTO.getValue1!=null&&DTO.getValue2!=空[…] 我想知道是否会有一个更干净的方法来做到这一点


thx。您可以使用反射进行验证。在DTO中定义一个isNull方法来检查null字段

public boolean isNull() {
        Field fields[] = this.getClass().getDeclaredFields();
        for (Field f : fields) {
            try {
                Object value = f.get(this);
                if (value != null) {
                    return false;
                }
            }
            catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


        }
        return true;

    }

更改DTO以公开其字段的集合一些DTO会自动执行此操作?如果您的DTO遵守JavaBeans规范,请检查。是的,thx函数更重要:java If value==null{return false;}但我有我的答案。