-1
public class ArrayCoping {
public static void main(String[] args) {
// Copied from Java Docs
char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 7);
System.out.println(new String(copyTo));
//Experimenting
System.out.println("Printing char: " + new String(copyTo));
System.out.println("Printing char: " + (copyTo));
System.out.println(copyTo);
// STRING
String[] stringSrc = { "abc", "def", "ghi", "jkl", "mno", "pqr" };
String[] stringDst = new String[4];
System.arraycopy(stringSrc, 1, stringDst, 0, 4);
//Error System.out.println(new String(stringDst));
System.out.println("Printing string: " + (stringDst));
System.out.println(stringDst);
// INT
int[] numSrc = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int[] numDst = new int[4];
System.arraycopy(numSrc, 1, numDst, 0, 4);
//Error System.out.println(new int (numDst));
System.out.println("Printing int: " + (numDst));
System.out.println(numDst);
}
} 1.同じコードブロックが異なるプリミティブ型(int型と文字列と文字での作業ではない)のために働いていない理由を説明していただけますとのarraycopy。 System.out.println(new String(copyTo));
は、の文字で動作しますが、の文字列では動作しません。同様にSystem.out.println(copyTo);
チャイルドで動作しますが、ではありません。とintです。Javaはメソッド
- 同じプリミティブ型が同じコードで異なる動作をするのはなぜですか?
System.out.println("Printing char: " + (copyTo));
は作品ではなく、System.out.println(copyTo);
私はarraycopy
方法が唯一文字データ型で動作すると言う任意の材料を見つけることができませんでした。
。何が問題なのですか? 1つの質問で_最小の例を作成してください。ここに少なくとも3つまたは4つの質問があるようです。 – Tunaki
'//エラーSystem.out.println(新しい文字列(stringDst)); ..' String [] 'ではなく' String'を解析する必要があるため –
_arraycopy_メソッドは** int **で動作しません。 **文字列**。 –