2016-04-03 7 views
1

私はJavaを初めて使用しています配列のクラスメソッドを学習しようとしています。任意の助けを事前にpublic staticを使用してInteger配列を文字列配列に変換できない理由<T,U> T [] copyOf(U [] original、int newLength、Class <?extends T []> newType)

Integer[] one = {1,2,3,4,5,6,7,8,9}; 

    String[] two = Arrays.copyOf(one, 10, String[].class); 

    System.out.println(Arrays.toString(two)); 

おかげで動作していない文字列配列に整数配列を変換する理由があり1型の配列は、別のタイプの配列に変換されpublic static <T,U> T[] copyOf(U[] original,int newLength,Class<? extends T[]> newType)はあるが、私は思っていました!

+2

それぞれの「整数」を「文字列」に変換する方法をお考えですか? 'toString()'やそれに類するものを "知る"ことが必要です。 –

答えて

3

のJavadocはあなたに理由を伝えます:

でArrayStoreException - 元からコピーされた要素は、クラスNEWTYPE

アンの配列に格納できる実行時の型ではない場合IntegerString[]に格納できません。

copyOfは、配列の要素を変換しません。ターゲットタイプの配列を作成し、ソース配列の要素をその配列にコピーしようとします。

関連する問題