Я хочу получить содержимое arrayList с помощью отражения, но я получаю только объект arrayList вместо значений arrayList с ReflectionToString. Ниже приведен пример кода и вывод:
ArrayList<String> nodeList = new ArrayList<String>();
nodeList.add("Inpt1");
nodeList.add("Inpt2");
System.out.println(ToStringBuilder.reflectionToString(nodeList, ToStringStyle.MULTI_LINE_STYLE));
Output:
java.util.ArrayList@5ca881b5[
size=2
]
Не могли бы вы рассказать мне, как получить содержимое ArrayList с помощью ReflectionToString?
У меня была работа, как показано ниже, но мне не понравилась моя работа, я ищу простое решение. if (o instanceof ArrayList) {для (int i = 0; i <((ArrayList) o) .size (); i ++) {Object game = ((ArrayList) o) .get (i); System.out.println (ToStringBuilder.reflectionToString (игра, ToStringStyle.MULTI_LINE_STYLE)); }}
@Elliott, это только тестовый код, мой вариант использования требует перехвата методов с использованием инструментария байтового кода и получения значений объекта, поэтому я должен использовать отражение.




Это может быть одно из решений. Я сделал это с целью отладки кода для временного использования.
ArrayList<String> nodeList = new ArrayList<String>();
nodeList.add("Inpt1");
nodeList.add("Inpt2");
StringBuilder builder = new StringBuilder();
nodeList.forEach(p -> builder.append(ToStringBuilder.reflectionToString(p, ToStringStyle.MULTI_LINE_STYLE)))
System.out.println(builder.toString());
Зачем ты это делаешь? У вас есть
ArrayList<String>, что не так сnodeList.toString()?