java 反射判断一个类中是否含有某个属性字段
程序员文章站
2022-06-28 16:28:10
java 反射判断一个类中是否含有某个属性字段,因为 java 反射相关的API 中没有提供这个方法,因此需要我们自己判断思路是将类中所有的属性字段遍历,进行查找,代码如下public boolean hasField(Class c, String fieldName){ Field[] fields = c.getDeclaredFields(); for (Field f : fields) { if (fieldName.equals(f.getNam....
java 反射判断一个类中是否含有某个属性字段,因为 java 反射相关的API 中没有提供这个方法,因此需要我们自己判断
思路是将类中所有的属性字段遍历,进行查找,代码如下
public boolean hasField(Class c, String fieldName){
Field[] fields = c.getDeclaredFields();
for (Field f : fields) {
if (fieldName.equals(f.getName())) {
return true;
}
}
return false;
}
测试
新建User实体类
package com.tdemo.fanshe;
import lombok.Data;
@Data
public class User {
private String name;
private Integer age;
}
测试类
package com.tdemo.fanshe;
import java.lang.reflect.Field;
public class UserMain {
public static void main(String[] args) {
User user = new User();
System.out.println(hasField(user.getClass(), "name"));
System.out.println(hasField(user.getClass(), "age"));
System.out.println(hasField(user.getClass(), "addr"));
}
private static boolean hasField(Class c, String fieldName){
Field[] fields = c.getDeclaredFields();
for (Field f : fields) {
if (fieldName.equals(f.getName())) {
return true;
}
}
return false;
}
}
运行效果
至此完
本文地址:https://blog.csdn.net/wsjzzcbq/article/details/110239517