Я вижу этот код в книге, что его задача - смещение массива.Смещение массива
public void arrayshift(int count) {
synchronized (array) {
System.arraycopy(array, count, array, 0, array.length - count);
}
}
Теперь я запускаю этот код, как показано ниже, но результат неправильный!
public class t2 {
static byte array[] = new byte[]{1, 2, 3, 4, 5, 6};
public void arrayshift(int count) {
synchronized (array) {
System.arraycopy(array, count, array, 0, array.length - count);
}
}
public static void main(String[] args) {
System.out.println("First array: " + Arrays.toString(array));
new t2().arrayshift(2);
System.out.println("After two shift is: " + Arrays.toString(array));
}
}
Результат:
First array: [1, 2, 3, 4, 5, 6]
After two shift is: [3, 4, 5, 6, 5, 6]
, что ваш вопрос? см. [документация] (http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#arraycopy%28java.lang.Object,%20int,%20java.lang.Object, % 20int,% 20int% 29) – turbo
Будет ли ожидаемый ответ [3, 4, 5, 6, 1, 2]? – Valentin
arraycopy просто копирует массив в другой, поэтому он не вращается? и на основании этого результат в порядке. –