Quote Originariamente inviata da andbin Visualizza il messaggio
clone() sugli array clona (duplica) solo l'oggetto array su cui è invocato. Nel caso di array monodimensionali di oggetti o array multidimensionali (qualunque tipo) effettivamente fa una "shallow" copy. Ossia una copia in cui "qualcosa" è condiviso.
Solo per gli array monodimensionali di primitivi, come caso particolare, il clone() fa una "deep" copy, ovvero una copia che è completamente distinta e senza nulla di condiviso.

No, così copi (duplichi) solo il reference alla matrice ... non duplichi la struttura della matrice! Una modifica attraverso matrice2 va ad alterare lo stesso oggetto puntato da matrice1.

A meno di usare metodi di utilità appositi in librerie specifiche, devi farlo tu, con uno o più cicli a seconda della dimensionalità.
Se l'array è bidimensionale, basta clonare l'array principale e poi fare un ciclo sull'array principale e fare clone() sui sotto-array.
Non lo sapevo, grazie mille ad entrambi