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. Können Sie mir bitte erklären, warum der gleiche Code-Block ist nicht für unterschiedliche primitive Typen arbeiten (Arbeit mit char aber nicht mit int und String). System.out.println(new String(copyTo));
arbeitet mit char aber nicht mit String. In ähnlicher Weise arbeitet System.out.println(copyTo);
für char aber nicht mit String und int.Java arraycopy Methode
- Warum verhält sich derselbe primitive Typ mit demselben Code anders?
System.out.println("Printing char: " + (copyTo));
nicht funktioniert, aberSystem.out.println(copyTo);
ich kein Material gefunden, das sagt arraycopy
Methode arbeitet mit char Datentyp nur.
Ich kann Ihre Frage nicht verstehen. Was genau ist das Problem? Bitte machen Sie ein _minimal_ Beispiel mit einer Frage. Es scheint, als gäbe es hier mindestens 3 oder 4 Fragen. – Tunaki
'// Fehler System.out.println (new String (stringDst));' .. weil Sie 'String' und nicht' String [] 'analysieren müssen –
_arraycopy_ Methode funktioniert nicht mit ** int ** und ** Zeichenfolge **. –