Es scheint so offensichtlich. Wie kann ich ein Objekt myObjet in den Typ myObjet.getClass umwandeln? Ich habe versucht, Kombinationen von forName(), Cast und andere ... none zu arbeiten: sDynamic Casting:
Das Problem ist, dass ich eine Liste von Objekten habe und ich möchte sie zurück zu ihrem ursprünglichen Typ (was ist gegeben von myObjet.getClass.getName()).
Grüße, Tim
Ja, das Java ist und es ist sicherlich nicht falsch. Lassen Sie mich das Problem erklären. Stellen Sie sich ein Programm vor, das sich mit einfachen Formen wie Quadrate und Kreise befasst, die von Klassen, der Hauptklasse, abgeleitet sind.
So gibt es eine Suchfunktion, die ein Formular zurückgibt, aber Sie haben die Art zu schaffen, und eine Referenz der Form (eine Zahl, zum Beispiel):
Form myForm= searchForm(String formType, String formRef)
Ich weiß, was das Formular es zurück wird sein, weil ich diese Argumente der Suchfunktion gegeben habe: zum Beispiel ein Quadrat. Das zurückgegebene Objekt wird immer noch ein Formular sein, aber ich möchte, dass es von der Square-Klasse ist, also muss ich es umwandeln. Es ist kompatibel, da Square von Form erbt.
Das einzige Problem ist, dass "formType" variabel ist, könnte es in der Tat quadratisch sein, aber es könnte auch "Circle" sein. Deshalb brauche ich eine generische Umwandlung für das Rückgabeobjekt.
Wenn ich eine myForm.getClass(). GetName(), bekomme ich "Square". Also muss ich myForm in myForm.getClass() umwandeln.
Sehen Sie das Problem?
Welche Sprache ist das? –
Dies scheint eine Art (falsches) Java zu sein. Auch ich verstehe den Weg nicht. Kannst du bitte Erklären? – dmeister