gpt4 book ai didi

java - 如何发现对象是否包含设置为 0 的数字字段?

转载 作者:行者123 更新时间:2023-11-29 06:40:22 26 4
gpt4 key购买 nike

如果 Java 对象包含设置为值 0 的数字字段,我如何发现(可能使用反射)?我在想这样的事情:

public boolean checkZero(Class T){
return false;
// need help here
}

但是 T 没有检查值的方法。

最佳答案

我认为你可以这样做:

     public boolean checkZero(Class clazz){
boolean zeroNumericFields = true;
Field[] fields = clazz.getDeclaredFields();
boolean zeroNumericFields = true;
List<Class> numberClasses = new ArrayList<Class>();

//Add all types you want to check e.g.
numberClasses.add(Number.class);
numberClasses.add(Integer.class);
numberClasses.add(Long.class);
numberClasses.add(Double.class);
numberClasses.add(Float.class);

if(fields.length > 0){
for(Field field : fields){
if(numberClasses.contains(field.getType())){
zeroNumericFields = false;
break;
}
}
}
return zeroNumericFields;
}

请注意:这不包括继承字段(如果有)。

关于java - 如何发现对象是否包含设置为 0 的数字字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060062/

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