Auf Thema antworten

Wie sollte man dann eine Methode entwickeln, die unbekannt dimensionierte Arrays verwaltet? Um auf die Elemente des Arrays zur Laufzeit zugreifen zu können, sind so viele Schleifen, wie Dimensionen nötig. Ich weiß doch vorher nicht, wie viele Dimensionen das Array desjendigen hat, welcher diese Methode aufruft.

Nur durch Rekursion ist es mir möglich, dem Array eine Dimension zu nehmen und die restlichen Dimensionen mit der selben Methode zu verarbeiten.



Richtig!



Damit ich als Übergabeparameter Arrays jeglicher Dimension verwenden kann. Der Typ ist tatsächlich statisch, dahingehend sind die generischen Typen unnötig, werden aber bei der Übergabe eines Array essentiel. Der generische Typ kann X-dimensionierte Arrays annehmen.


Also [code]new Klasse[][/code], [code]new Klasse[][][/code], [code]new Klasse[][][][/code], usw.


Nur dafür ist die Verwendung generischer Typen gedacht und nicht etwa, weil ich jeden (End)Typen zulassen will. Nein, ich will natürlich nur Typen, die meine Schnittstelle (hier Kopie) implementieren, zu lassen.


Der Hack mit den Klassennamen ist zum Ausgleichen der Schwierigkeiten, welche die generischen Typen mit sich bringen.



Das ist richtig, aber das Problem der Übergabe eines Arrays jeglicher Dimension ist damit nicht gelöst. Bzw. ist mir keine Lösung klar.


Kannst Du mir eine Methode präsentieren, der ich sowohl [code]new Klasse[][/code], [code]new Klasse[][][/code], [code]new Klasse[][][][/code], usw. übergeben kann. (Klasse instanceof Schnittstelle).




Ursprünglich aus Interesse, da ich die Programmiermechanik und -Möglichkeiten besser verstehen möchte. Mittlerweile empfinde ich es als angenehm, eine Methode zu haben, die unabhängig von der Dimension des Arrays alle Arrays tiefenkopiert.


Ich habe zwar noch nie mit Matrizen operiert, deren Dimension größer als zwei waren, aber schon so spart man sich unnötige Methoden ähnlichen Inhalts.



Oben