我需要获得 String[]
出Set<String>
,但我不知道该怎么做。以下失败:
Map<String, ?> myMap = gpxlist.getAll();
Set<String> myset = myMap.keySet();
String[] GPXFILES1 = (String[]) myset.toArray(); // Here it fails.
如何修复它以使其正常工作?
最佳答案
使用 Set#toArray(IntFunction<T[]>)
采用 IntFunction
的方法作为生成器。
String[] GPXFILES1 = myset.toArray(String[]::new);
如果您还没有使用 Java 11,请使用 Set#toArray(T[])
方法采用相同大小的类型化数组参数。
String[] GPXFILES1 = myset.toArray(new String[myset.size()]);
虽然仍然不在 Java 11 上,但您不能保证 myset
在转换为数组的时候是不可修改的,那么最好指定一个空类型的数组。
String[] GPXFILES1 = myset.toArray(new String[0]);
关于java - 如何将 Set<String> 转换为 String[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5982447/