Как получить последнее значение из ArrayList, используя отражение? - PullRequest
0 голосов
/ 29 ноября 2018

Я просто хочу получить последнее значение в ArrayList, используя отражение.Обычно это достигается с помощью:

String s = ArrayList.get(ArrayList.size()-1);

Я пытался сделать:

String s = Object.get(ClassInstance, Object.get(ClassInstance, ArrayList.size()-1));

Очевидно, что это не правильный синтаксис.Каким будет правильный синтаксис для достижения этой цели?

РЕДАКТИРОВАТЬ:

Причина, по которой я пытаюсь это сделать, заключается в том, что я тестирую мой код, а ArrayList находится внутри.класс, который я тестирую, является частным.Один из моих логических методов принимает параметр, и я хотел проверить его, используя последнее значение в ArrayList (я не знаю значение, поскольку оно генерируется случайным образом, но значение всегда должно возвращать true).Любые решения этой проблемы высоко ценятся.

1 Ответ

0 голосов
/ 30 ноября 2018

Наконец-то удалось выяснить это для себя.Публикация кода для любого в будущем, кому это может понадобиться:

MyClass myClass = new MyClass();
Field list = MyClass.class.getDeclaredField("listName");
list.setAccessible(true);
List<String> l = (ArrayList) list.get(myClass);
String s = l.get(l.size()-1);

Метод, в котором он содержится, должен вызвать NoSuchFieldException и IllegalAccessException, чтобы он заработал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...