gpt4 book ai didi

java - 检查一些成员不为空

转载 作者:行者123 更新时间:2023-11-30 02:16:02 25 4
gpt4 key购买 nike

我有一个大约有 20 个成员的类,并且我有一个方法来验证 10 个特定成员不为空。起初我认为它们都不可能为 null,因此我通过 this.getClass().getDeclaredFields() 进行 for 循环,但当我了解到其中 10 个实际上可能为 null 时,该计划失败了。

我尝试用谷歌搜索是否有一种设置成员子集并仅循环遍历这些子集的方法,但没有找到任何有用的东西。否则我会留下一个大 if ((id == null) || (type == null) ... return false

有什么想法可以以更干净的方式做到这一点吗?

最佳答案

您可以创建一个注释来标记不为空的字段,然后根据注释过滤字段列表

public class ValidateNotNullProperty
{
public static @interface NotNull {}

// example usage
@NotNull
public int id;

public static List<Field> getMandatoryFields(Class<?> cls) {
return Arrays.asList(cls.getDeclaredFields()).stream()
.filter(fld -> fld.isAnnotationPresent(NotNull.class))
.collect(Collectors.toList());
}
}

关于java - 检查一些成员不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com