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

Definição

Copia uma matriz da matriz de origem especificada, começando na posição especificada, para a posição especificada da 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

a matriz de origem.

srcPos
Int32

posição inicial na matriz de origem.

dest
Object

a matriz de destino.

destPos
Int32

posição inicial nos dados de destino.

length
Int32

o número de elementos de matriz a serem copiados.

Atributos

Comentários

Copia uma matriz da matriz de origem especificada, começando na posição especificada, para a posição especificada da matriz de destino. Uma subsequência de componentes de matriz é copiada da matriz de origem referenciada pela src matriz de destino referenciada por dest. O número de componentes copiados é igual ao length argumento. Os componentes em posições srcPos na srcPos+length-1 matriz de origem são copiados em posições destPos por meio destPos+length-1, respectivamente, da matriz de destino.

Se o e src os dest argumentos se referirem ao mesmo objeto de matriz, a cópia será executada como se os componentes em posições srcPos fossem srcPos+length-1 copiados primeiro para uma matriz temporária com length componentes e, em seguida, o conteúdo da matriz temporária fosse copiado em posições destPos por meio destPos+length-1 da matriz de destino.

Se dest for null, então um NullPointerException é lançado.

Se src for null, será gerada uma NullPointerException matriz de destino e não será modificada.

Caso contrário, se qualquer um dos seguintes valores for true, um ArrayStoreException será lançado e o destino não será modificado: <ul><li>O src argumento se refere a um objeto que não é uma matriz. <li>O dest argumento refere-se a um objeto que não é uma matriz. <li>O src argumento e dest o argumento referem-se a matrizes cujos tipos de componente são tipos primitivos diferentes. <li>O src argumento refere-se a uma matriz com um tipo de componente primitivo e o dest argumento refere-se a uma matriz com um tipo de componente de referência. <li>O src argumento refere-se a uma matriz com um tipo de componente de referência e o dest argumento refere-se a uma matriz com um tipo de componente primitivo. </ul>

Caso contrário, se qualquer um dos seguintes valores for true, um IndexOutOfBoundsException será lançado e o destino não será modificado: <ul><li>O srcPos argumento será negativo. <li>O destPos argumento é negativo. <li>O length argumento é negativo. <li>srcPos+length é maior que src.lengtho comprimento da matriz de origem. <li>destPos+length é maior que dest.length, o comprimento da matriz de destino. </ul>

Caso contrário, se qualquer componente real da matriz de origem da posição srcPos por meio srcPos+length-1 não puder ser convertido no tipo de componente da matriz de destino por conversão de atribuição, um ArrayStoreException será gerado. Nesse caso, deixe <b>k</b> ser o menor inteiro nãonegativo menor que o comprimento, de modo que src[srcPos+k] não possa ser convertido no tipo de componente da matriz de destino; quando a exceção for gerada, os componentes da matriz de origem de posições srcPos a srcPos+k-1 já serão copiados para posições destPos de matriz de destino por destPos+-1 e nenhuma outra posição da matriz de destino terá sido modificada. (Devido às restrições já itemizadas, este parágrafo aplica-se efetivamente somente à situação em que ambas as matrizes têm tipos de componentes que são tipos de referência.)

Java documentação para java.lang.System.arraycopy(java.lang.Object, int, java.lang.Object, int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a