Array mit unbekannten Objekttypen verändern


#1
Hallo zusammen,

ich habe eine Methode geschrieben die zwei "Bereiche" in einem Array vertauscht. Das Problem hierbei war, dass die Methode für beliebige Arrays funktionieren sollte. Es ist vor dem Aufruf nicht klar welche Art von Objekten im Array stehen und welche Dimensionen das Array hat.

Die Mehtode funktioniert inzwischen, aber ich bin mir nicht sicher ob ich einen "vernünftigen" Ansatz gewählt habe. Guckt euch das Ganze doch mal an und sagt mir was ihr davon haltet.

Code:
	private static void swap(Object[] array, int i, int j) throws ClassNotFoundException{
		String className = array[i].getClass().getName();

		Object tmp = array[i];
		array[i] = array[j];
		array[j] = Class.forName(className).cast(tmp);
	}
 
#3
Oh ... es funktioniert auch ohne.

Zu Begin habe ich herum experimentiert und Object-Arrays in Objects und zurück gecasted.
Da scheine ich letztendlich den Überblick verloren zu haben, bin gar nicht mehr auf den Gedanken gekommen das es auch so funktionieren könnte.

Tut mir leid, dass ich deine Zeit verschwendet habe
 

j2se

Erfahrenes Mitglied
#7
Swap kenne ich insbesondere bei eigenen Sortieralgorithmen. In Java gibt es Generics für beliebige Objekttypen, welche auch eine Methode sort() anbieten, deshalb die Frage.
 

Neue Beiträge