我想获取android中类的字段名。为此,我正在使用这段代码
public static String checkForNull(Object obj) {
Class cls = obj.getClass();
Field fields[] = cls.getDeclaredFields();
for (Field field : fields) {
Object object = null;
try {
object = field.get(obj);
} catch (IllegalAccessException e) {
return "The field " + field.getName() + " of " + cls.getSimpleName() + " is not accessible!";
}
if (object == null) {
return "The field " + field.getName() + " of " + cls.getSimpleName() + " is null!";
} else if (object instanceof String) {
String string = (String) object;
if (string.equals("")) {
return "The field " + field.getName() + " of " + cls.getSimpleName() + " is empty!";
}
}
}
return null;
}
但此代码返回类字段的通用名称,如 a、b、c 等。此代码在 netbeans 中运行良好。
最佳答案
看起来像是经过混淆的名称,很可能您有 ProGuard 的默认设置并且 Android SDK 执行一些代码混淆,请参阅 https://developer.android.com/studio/build/shrink-code.html
如果您想查看原始字段名称,您应该完全或针对这个特定的类/包禁用混淆。
关于java - 我想在android中获取类的字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44998554/