Ich weiß, dass Sie die CloneNotSupportedException abfangen sollten, wenn Sie die Clone-Methode verwenden. Ich habe jedoch kürzlich versucht, ein Array zufälliger Ganzzahlen zu klonen, indem ich .clone() auf das Array aufruft, und es hat funktioniert! Es war kein Try-Catch-Block notwendig. Der Code war etwas in der Art:Verwenden der Clone-Methode ohne CloneNotSupportedException
import java.util.Arrays;
import java.util.Random;
public class ClonePractice
{
public static void main(String[ ] args)
{
int[ ] A = new int[100];
Random random = new Random();
for(int i = 0; i < 100; i++)
A[i] = 1 + random.nextInt(100); //Get random integer between 1 and 100.
int[ ] B = A.clone();
B[0] = 1000;
System.out.println(Arrays.toString(A));
System.out.println(Arrays.toString(B));
// Arrays A and B should have different first values because they are
// independent objects in memory.
} // End of main method.
} // End of ClonePractice class.
Dieser Code kompiliert und läuft wunderschön! Es muss jedoch nicht die CloneNotSupportedException in einem try-catch-Block abgefangen werden. Könnte jemand bitte erklären, warum dies die Ausnahme von der "Regel" zum Einfangen dieser Ausnahme ist. Vielen Dank!!!
Der Compiler weiß, dass Arrays immer klonbar sind, und daher wird 'clone()' auf einem Array 'CloneNotSupportedException' nicht auslösen. – khelwood
"Wenn Sie die Clone-Methode verwenden, sollten Sie die CloneNotSupportedException abfangen." Was gab Ihnen diese Idee? –