java统计实体类中空字段数量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package org.example;
import java.lang.reflect.Field;
/**
 * @author 50649
 */
public class TestCount {
    public static int countNullFields(Object entity) throws IllegalAccessException {
        if (entity == null) {
            return 0;
        }
        int nullFieldCount = 0;
        Class<?> clazz = entity.getClass();
        Field[] fields = clazz.getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            Object fieldValue = field.get(entity);
            if (fieldValue == null) {
                nullFieldCount++;
            }
        }
        return nullFieldCount;
    }
 
    public static void main(String[] args) throws IllegalAccessException {
        // 假设有一个实体类 Entity 如下:
        // class Entity {
        //     String name;
        //     Integer age;
        //     String email;
        // }
        Entity entity = new Entity();
        entity.name = "John";
        entity.email = null;
 
        int nullFieldCount = countNullFields(entity);
        System.out.println("Number of null fields: " + nullFieldCount);
    }
}

  

1
2
3
4
5
6
7
8
9
10
package org.example;
 
/**
 * @author 50649
 */
public class Entity {
    String name;
    Integer age;
    String email;
}

  

posted @   红尘沙漏  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
点击右上角即可分享
微信分享提示