Lenguaje

JavaSystem.Arraycopy(Object, Int32, Object, Int32, Int32) Método

Definición

Copia una matriz de la matriz de origen especificada, a partir de la posición especificada, a la posición especificada de la matriz de destino.

[Android.Runtime.Register("arraycopy", "(Ljava/lang/Object;ILjava/lang/Object;II)V", "")]
public static void Arraycopy(Java.Lang.Object src, int srcPos, Java.Lang.Object dest, int destPos, int length);
[<Android.Runtime.Register("arraycopy", "(Ljava/lang/Object;ILjava/lang/Object;II)V", "")>]
static member Arraycopy : Java.Lang.Object * int * Java.Lang.Object * int * int -> unit

Parámetros

src
Object

matriz de origen.

srcPos
Int32

posición inicial en la matriz de origen.

dest
Object

matriz de destino.

destPos
Int32

posición inicial en los datos de destino.

length
Int32

número de elementos de matriz que se van a copiar.

Atributos

Comentarios

Copia una matriz de la matriz de origen especificada, a partir de la posición especificada, a la posición especificada de la matriz de destino. Una subsecuencia de componentes de matriz se copia de la matriz de origen a src la que hace referencia a la matriz de destino a la que hace destreferencia . El número de componentes copiados es igual al length argumento . Los componentes de las posiciones srcPos a través srcPos+length-1 de en la matriz de origen se copian en posiciones destPos a través destPos+length-1de , respectivamente, de la matriz de destino.

Si los src argumentos y dest hacen referencia al mismo objeto de matriz, la copia se realiza como si los componentes de las posiciones srcPos se srcPos+length-1 copiaran primero en una matriz temporal con length componentes y, a continuación, el contenido de la matriz temporal se copiaba en posiciones destPos a través destPos+length-1 de la matriz de destino.

Si dest es null, se produce una NullPointerException excepción .

Si src es null, se produce una NullPointerException excepción y la matriz de destino no se modifica.

De lo contrario, si alguno de los siguientes valores es true, se produce una ArrayStoreException excepción y el destino no se modifica: <ul><li>El src argumento hace referencia a un objeto que no es una matriz. <li>El dest argumento hace referencia a un objeto que no es una matriz. <li>El src argumento y dest el argumento hacen referencia a matrices cuyos tipos de componentes son tipos primitivos diferentes. <li>El src argumento hace referencia a una matriz con un tipo de componente primitivo y el dest argumento hace referencia a una matriz con un tipo de componente de referencia. <li>El src argumento hace referencia a una matriz con un tipo de componente de referencia y el dest argumento hace referencia a una matriz con un tipo de componente primitivo. </ul>

De lo contrario, si alguno de los siguientes valores es true, se produce una IndexOutOfBoundsException excepción y el destino no se modifica: <ul><li>El srcPos argumento es negativo. <li>El destPos argumento es negativo. <li>El length argumento es negativo. <li>srcPos+length es mayor que src.length, la longitud de la matriz de origen. <li>destPos+length es mayor que dest.length, la longitud de la matriz de destino. </ul>

De lo contrario, si cualquier componente real de la matriz de origen desde la posición srcPos a través srcPos+length-1 de no se puede convertir al tipo de componente de la matriz de destino mediante la conversión de asignación, se produce una ArrayStoreException excepción . En este caso, deje que <b>k</b> sea el entero no negativo más pequeño menor que la longitud, de modo que src[srcPos+k] no se pueda convertir al tipo de componente de la matriz de destino; cuando se produce la excepción, los componentes de matriz de origen de las posiciones srcPos a srcPos+k-1 ya se habrán copiado en las posiciones destPos de la matriz de destino a través destPos+ de k-1 y no se habrá modificado ninguna otra posición de la matriz de destino. (Debido a las restricciones ya desglosadas, este párrafo solo se aplica a la situación en la que ambas matrices tienen tipos de componentes que son tipos de referencia).

Java documentación para java.lang.System.arraycopy(java.lang.Object, int, java.lang.Object, int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a