Semua nilai elemen sebuah larik tidak dapat disalin ke larik lain menggunakan assignment operator (=) sebagaimana pada tipe primitif.

   larikX = larikY;

Pernyataan di atas hanya memberikan acuan yang diacu oleh larikY ke larikX sehingga larikX dan larikY mengacu ke obyek larik yang sama. Apabila larikX sebelumnya mengacu ke obyek larik lain, maka obyek larik tersebut sudah tidak diacu lagi oleh larikX. Untuk menyalin nilai elemen larik, dapat digunakan metoda arraycopy dari kelas System yang ada di paket java.lang. Kelas System tidak perlu diimpor terlebih dahulu karena secara otomatis akan diimpor oleh kompiler Java saat digunakan.

Berikut ini adalah sintaksis metoda arraycopy dari kelas System:

   arraycopy(larikSumber, posisi-sumber, larikTarget, posisi-target, jumlah-elemen);

Dari sintaksis di atas, posisi-sumber dan posisi-target menunjukkan posisi awal larikSumber dan larikTarget, sedangkan jumlah-elemen adalah banyaknya elemen larik yang akan disalin dari larikSumber ke larikTarget. Selain metoda arraycopy kelas System, menyalin larik juga dapat dilakukan menggunakan perulangan for sebagai berikut:

   char[] karakterSumber = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’};
   char[] karakterTarget = new char[karakterSumber.length];
   for (int x = 0; x <= karakterSumber.length; x++)
      karakterTarget[x] = karakterSumber[x];

Berikut ini adalah contoh program untuk menyalin elemen larik menggunakan metoda arraycopy dari kelas System. File program disimpan di direktori c:\hindro\javasc dengan nama MenyalinElemenLarik.java.

// Nama file : MenyalinElemenLarik.java
// Menyalin elemen dari larik satu ke larik lain

// Mengimpor kelas
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

// Deklarasi kelas
public class MenyalinElemenLarik {

   // Metoda main
   public static void main(String[ ] args) {

      JTextArea areaTampilan;
      String stringTampil = "";
      char[ ] karakterSumber = {'A', 'B', 'C', 'D', 'E', 'F', 'G',
                               'H', 'I', 'j', 'K', 'L', 'M', 'N',
                               'O', 'P', 'Q', 'R', 'S'};
      char[ ] karakterTarget = new char[karakterSumber.length];

      // Menyalin elemen larik sumber ke larik target
      System.arraycopy(karakterSumber, 0, karakterTarget, 0, karakterSumber.length);

      // Menampilkan hasil
      stringTampil += "Elemen larik karakterSumber :\n";
      for (int x = 0; x < karakterSumber.length; x++)
         stringTampil += karakterSumber[x] + "  ";

      stringTampil += "\nElemen larik karakterTarget :\n";
      for (int x = 0; x < karakterTarget.length; x++)
         stringTampil += karakterTarget[x] + "  ";

      areaTampilan = new JTextArea();
      areaTampilan.setText(stringTampil);
      JOptionPane.showMessageDialog(null, areaTampilan, "Menyalin Elemen Larik",
         JOptionPane.INFORMATION_MESSAGE);

      // Mengakhiri aplikasi
      System.exit(0);
   }
}

Menyalin elemen larik di Java 

Baris nomor 16 adalah deklarasi, membuat dan menginisialisi larik menggunakan array initializer. Larik karakterSumber mempunyai 19 elemen tipe char. Baris nomor 19 adalah pernyataan untuk mendeklarasikan dan membuat larik karakterTarget yang mempunyai elemen tipe char dengan jumlah elemen sebanyak jumlah elemen larik karakterSumber (new char[karakterSumber.length]). Baris nomor 22 adalah pernyataan untuk menyalin semua nilai elemen larik karakterSumber ke larik karakterTarget menggunakan metoda arraycopy dari kelas System. Nilai elemen masing-masing larik kemudian disimpan ke variabel tipe String stringTampil menggunakan perulangan for (baris nomor 26 dan 30).