为什么我们需要论证new String[0]
inside toArray
?
saved = getSharedPreferences("searches", MODE_PRIVATE);
String[] mystring = saved.getAll().keySet().toArray(new String[0]);
这样你就可以得到一个String[]
。没有任何争论的给你一个Object[]
.
查看此方法有 2 个版本:
- Object[] toArray() http://docs.oracle.com/javase/7/docs/api/java/util/Set.html#toArray%28%29
- <T> T[] toArray(T[] a) http://docs.oracle.com/javase/7/docs/api/java/util/Set.html#toArray%28T%5B%5D%29
通过传递String[]
数组,您使用的是通用版本。
更好的方式通过String[]
数组将使用其大小来初始化它Set
,而不是大小为 0,因此不需要在方法中创建新数组:
Set<String> set = saved.getAll().keySet();
String[] mystring = set.toArray(new String[set.size()]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)