Some folks suggest clone() -- just to be extra clear, clone() on a multi-dimensional array is only a shallow clone. original.clone()[0] == original[0]. But (for primitives) you can use clone() instead of System.arraycopy() once you're down to one-dimensional arrays.