android开发中,有时候需要获取类中私有或受保护的属性值,整理代码如下:
import java.lang.reflect.Field;
public class ReflectUtil {
/**
* 类classType是否拥有以fieldName命名的属性
* @param classType
* @param fieldName
* @return
*/
public static boolean hasDeclaredField(Class> classType, String fieldName){
Field[] fields = classType.getDeclaredFields();
for(int i=0;i classType, Object obj, String fieldName){
if(hasDeclaredField(classType, fieldName)){
try {
Field field = classType.getDeclaredField(fieldName);
if(field != null){
field.setAccessible(true);
return field.get(obj);
}
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
return null;
}
}
原创内容转载请保留出处GEEK笔记(https://www.geekapp.cn/)。