从对象获取 null 属性

Mon*_*lan 1 java

我有一个对象,该对象有近 30 个属性,我想从该对象获取所有 null 属性。

现在我通过 if 条件分别为每个属性执行此操作,因此我的代码非常大,java 中是否有任何方法可以从对象获取 null 属性。

请帮忙得到这个。

编辑正在上传我的数据,我想向用户显示空字段作为错误消息。

Jun*_*san 5

这是使用反射获取所有空字段的方法:

    YourClassObject objectToIntrospect = new YourClassObject();
    for (Field field : objectToIntrospect.getClass().getDeclaredFields()) {
        field.setAccessible(true); // to allow the access of member attributes
        Object attribute = field.get(objectToIntrospect); 
        if (attribute == null) {
            System.out.println(field.getName() + "=" + attribute);
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • @JeroenVannevel 我同意你的评论,但部分同意。这取决于问题的类型。如果某件事太容易用语言解释,那么我会选择那条路。但有时使用代码来描述事物更容易。这个问题听起来很简单,回答使用反射可以做到这一点也是一个公平的说法。但根据我的经验,精通使用反射的 Java 程序员并不多。在这种情况下,考虑到概念本身的复杂性,我想到使用代码而不是文本。我重视您的意见,并会尽可能考虑。 (4认同)