String[]
から を取得する必要がありますSet<String>
が、その方法がわかりません。次のコードは失敗します。
Map<String, ?> myMap = gpxlist.getAll();
Set<String> myset = myMap.keySet();
String[] GPXFILES1 = (String[]) myset.toArray(); // Here it fails.
動作するように修正するにはどうすればいいでしょうか?
ベストアンサー1
使用Set#toArray(IntFunction<T[]>)
をジェネレータとして受け取るメソッドIntFunction
。
String[] GPXFILES1 = myset.toArray(String[]::new);
まだJava 11を使用していない場合は、Set#toArray(T[])
同じサイズの型付き配列引数を取るメソッド。
String[] GPXFILES1 = myset.toArray(new String[myset.size()]);
myset
まだ Java 11 ではなく、配列への変換時に変更不可能であることを保証できない場合は、空の型付き配列を指定することをお勧めします。
String[] GPXFILES1 = myset.toArray(new String[0]);