我在客户端类中有一个方法可以从服务器收集数据,并返回一个 HashMap。我想在 android 对话框中列出键。 android API 要求数据必须以 CharSequence[] 的形式存在。据我所知,没有直接的方法来转换这些数据类型。实现这一目标的最佳方法是什么?
这里是hashmap和keyset的声明和初始化:
Map <String, String> players = client.listPlayers();
Set<String> player_names = players.keySet();
And here is the link to the android Dialog documentation.
注意:CharSequence,可以从一个Set中转换出来,与CharSequence[]不同
感谢任何帮助。
-肖恩·W.
最佳答案
CharSequence[] player_names = players.keySet().toArray(new CharSequence[0]);
这会在不为元素分配任何空间的情况下告知方法数组的类型。它将为您分配一个大小正确的数组。
如果你更喜欢自己分配真正的数组:
CharSequence[] player_names = players.keySet().toArray(new CharSequence[players.size()]);
关于java - 将 HashMap.keySet() 转换为 CharSequence[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161285/