JavaSystem.Arraycopy(Object, Int32, Object, Int32, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.)
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.