Создать массив значений из массива объектов со значением в качестве свойства - PullRequest
0 голосов
/ 26 июня 2019

Я хочу получить значение имени от: [sailpoint.object.Identity@4099209b [id = 8a029c656b800bf9016b801a2d130014, name = 100], которое хранится в списке. Пожалуйста, помогите.

Фрагмент кода:

// getObjects reurn identity objects e.g. sailpoint.object.Identity@43ac0a68[id=8a029c656b800bf9016b801a2eae0017,name=101]

List<Identity> identities = context.getObjects(Identity.class, query);

Результаты сейчас:

[sailpoint.object.Identity@4099209b[id=8a029c656b800bf9016b801a2d130014,name=100], sailpoint.object.Identity@43ac0a68[id=8a029c656b800bf9016b801a2eae0017,name=101]]

Ожидаемый результат:

[100,101]

Ответы [ 2 ]

2 голосов
/ 26 июня 2019

Я бы поточил список и использовал бы геттер для извлечения имени:

List<String> result = 
    identities.stream().map(Identity::getName).collect(Collectors.toList());
1 голос
/ 26 июня 2019

Без определения объекта Identity я могу только предполагать, что свойство name является локальным (и предоставляется через Identity#getName(). В этом случае вы можете просто map ("перевести ") каждый предмет коллекции:

List<String> names = context.getObjects(Identity.class, query).stream()
  .map(Identity::getName)
  .collect(Collectors.toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...