Я пытался использовать Reflection API, чтобы получить поле класса, я делал это, передавая класс в качестве аргумента к следующему методуОтражение: возвращение неправильных полей
private void someMethod(Class<?> objClass) throws IOException {
String className= objClass.getSimpleName();
Map<String, String> fieldsAndDataType = new LinkedHashMap<>();
for (Field field : objClass.getClass().getDeclaredFields())
{
String fieldName = field.getName();
String fieldDataType = field.getType().toString();
fieldsAndDataType.put(fieldName, fieldDataType);
}
Log.d("here","here "+fieldsAndDataType);
}
Я звоню метод как
someMethod(MyClass.class);
Но вместо возвращения мне поля «MyClass», поля, которые я получаю являются:
- сериа lVersionUID
- имя
Но мой класс является простой класс с тремя свойствами и имеющих примитивные типы данных с некоторыми добытчиками и сеттеров only.However в
Струнный Classname = objClass.getSimpleName();
возвращает мне правильное название класса.
someMethod()
не дает мне переменные-члены моего класса. Как я могу их получить?
Удивительный ......... Спасибо, его работа, но вы можете немного уточнить, что было вернувшись ко мне. – nobalG