Преобразовать HashMap.keySet () в CharSequence []? - PullRequest
2 голосов
/ 12 ноября 2010

У меня есть метод в клиентском классе, который собирает данные с сервера и возвращает HashMap. Я хочу перечислить ключи в диалоге Android. Android-API требует, чтобы данные были в форме CharSequence []. Насколько я могу судить, прямого преобразования этих типов данных не существует. Каков наилучший способ сделать это?

Вот объявление и инициализация hashmap и набора ключей:

Map <String, String> players = client.listPlayers();
Set<String> player_names = players.keySet();

А вот и ссылка на документацию android Dialog.

Примечание: CharSequence, которая может быть приведена из набора, отличается от CharSequence []

Любая помощь приветствуется.

-Sean W.

1 Ответ

4 голосов
/ 12 ноября 2010
CharSequence[] player_names = players.keySet().toArray(new CharSequence[0]);

Это сообщает методу тип массива без выделения места для элементов.Он выделит вам массив правильного размера.

Если вы предпочитаете размещать реальный массив самостоятельно:

CharSequence[] player_names = players.keySet().toArray(new CharSequence[players.size()]);
...