2017-01-18 7 views
0

なぜ私はobjectArrayArrayListを回していると私は私が言及するだけであれば(stringArrayArrayListませコンパイル回していない場合には、コードのコンパイル「new String[0]」 )???Javaは - 配列へのArrayListを回す

public static void main(String args[]) { 
    List<String> list = new ArrayList<>(); 
    list.add("George"); 
    list.add("John"); 
    Object[] objectArray = list.toArray(); 
    System.out.println(java.util.Arrays.toString(objectArray)); 
    String[] stringArray = list.toArray(new String[0]); 
    System.out.println(java.util.Arrays.toString(objectArray)); 
} 
+4

おそらく、2番目の 'println'に' stringArray'を出力したいとします。 – Eran

+1

パラメータとして配列オブジェクトを渡す必要がありますが、基本的にStringオブジェクトを渡しています – Vihar

+2

コンパイラエラーに関する質問を投稿する場合は、エラーメッセージを含める必要があります。 – Fildor

答えて

0

それを短くするために、ここでjava.util.List

Object[] toArray() 

最初から最後の要素まで(適切な順序でリスト内のすべての要素を含む配列を返すための両方の方法の署名であります)。

<T> T[] toArray(T[] a) 

(最初から最後の要素まで)適切な順序でリスト内のすべての要素を含む配列を返します。返される配列の実行時の型は、指定された配列の実行時の型です。

あなたはあなたがタイプを指定する配列を渡す必要がありString[]

Object[]を保存しようとしたのであれば、これはエラーを取得するためのロジックです。長さを直接設定する必要がありますが、メソッドはそれを実行できますが、簡単に行うことができます。

new String[list.length] 
+0

ThxたくさんのAxelH、あなたの説明はとても良いです! – Mike280977

関連する問題