なぜnew String[0]
内部に引数が必要なのtoArray
ですか?
saved = getSharedPreferences("searches", MODE_PRIVATE);
String[] mystring = saved.getAll().keySet().toArray(new String[0]);
あなたが戻ってくるようにString[]
。引数のないものは、 を返しますObject[]
。
このメソッドには 2 つのバージョンがあります。
配列を渡すString[]
ことで、ジェネリック バージョンを使用しています。
配列を渡すより良い方法は、メソッドで新しい配列を作成する必要がないように、サイズ 0 ではなくString[]
のサイズで初期化することです。Set
Set<String> set = saved.getAll().keySet();
String[] mystring = set.toArray(new String[set.size()]);
戻り値の型を提供し、コンパイル時のあいまいさを防ぐためです。
そのメソッド呼び出しの署名は次のとおりです。<T> T[] toArray(T[] a)
一方、空のパラメーター one はObject[] toArray()