Как преобразовать SET в массив в APEX? - PullRequest
2 голосов
/ 02 декабря 2010

У меня есть карта с ключом и значением, и моя цель - получить список «ключей». Я думаю, чтобы получить его в массив или список. Дошло до того, что у меня есть ключевые значения в наборе, но я не понял как конвертировать в массив.

ниже мой код:

Map<String, String> mmm = new Map<String, String>();
mmm.put('one', 'oneee');
mmm.put('two', 'twooo');
mmm.put('three', 'threeee');
mmm.put('four', 'fourff');

//outputs values in the map
system.debug('=======values()==========>' + mmm.values());
//outputs key in the map
system.debug('=======keyset()===========>' + mmm.keyset());

//get keys in the type SET
SET<string> s = mmm.keyset();
//returns 4
system.debug('------------------------------------' + s.size());

s.arrayTo() //this method does not exist :(

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

Использовать List.addAll метод?

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_methods_system_list.htm?SearchType=Stem

Если нет - вы всегда можете вручную выполнить цикл ...

0 голосов
/ 11 июля 2017

Вы всегда должны использовать дженерики для безопасности типов.

Map<String, String> mmm = new Map<String, String>();
mmm.put('one', 'oneee');
mmm.put('two', 'twooo');
mmm.put('three', 'threeee');
mmm.put('four', 'fourff');

List<String> lstKeys = new List<String>(mmm.keyset());
System.debug('Output : '+lstKeys);

По ссылке: https://salesforce.stackexchange.com/questions/5447/is-there-a-difference-between-an-array-and-a-list-in-apex.

Это решение будет работать.

0 голосов
/ 27 октября 2016

Не могли бы вы использовать:

Установить ключи = mmm.keySet ();Список keyList = новый список (ключи);

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