TeamBob Geschrieben 4. März 2009 Geschrieben 4. März 2009 Hi Also ich habe eine neue Klasse erstellt und dort will ich mit einer for-Schleife die Methoden einer anderen Klasse durchgehen und diese dann danach in ein Array umwandeln, aber ich weis gerade echt nicht wie ich das anstellen soll, weil ich noch neu in sachen Schleifen bin. ich hoffe ihr könnt mir helfen... Die Methoden der Klasse die ich druchlaufen möchte mit der for-Schleife public class WSDocument { Document document; public WSDocument() { super(); } public WSDocument(Document document) { super(); this.document = document; } public Long getId() { return document.getId(); } public String getName() { return document.getName(); } public void setId(Long id) { document.setId(id); } public void setName(String name) { document.setName(name); } } Weis aber nicht wie ich jetzt in meienr neuen klasse die for schleife und die array Umwandlung machen. Danke Zitieren
TeamBob Geschrieben 4. März 2009 Autor Geschrieben 4. März 2009 ok also das hilft mir irgendwie nicht viel weiter...was genau soll ich denn tun? Zitieren
flashpixx Geschrieben 4. März 2009 Geschrieben 4. März 2009 Du musst von Deinem Objekt die Klasse bestimmen und aus diesem Metaclass Objekt die Methoden via getMethods auslesen. Ich verstehe aber nicht das Problem, denn im Link sind Bsps angegeben Phil Zitieren
TeamBob Geschrieben 4. März 2009 Autor Geschrieben 4. März 2009 ich soll das mit einer for schleife lösen, dass ich die ganzen methoden aufrufe und anschließend in ein array wandele Zitieren
flashpixx Geschrieben 4. März 2009 Geschrieben 4. März 2009 Du möchtest aus einer Klasse bzw aus einigem beliebigen Objekt eine Liste (Array) aller Methodennamen haben? Dann entspricht das genau dem, was ich Dir gepostet habe. Nimm das instanzierte Objekt, hole Dir davon das Class-Objekt und lDese daraus direkt die Methodennamen als Array, die Du dann mit der For-Schleife weiter verarbeiten kannst. Phil Zitieren
Dragon8 Geschrieben 4. März 2009 Geschrieben 4. März 2009 Du sollst also alle get-Methoden aufrufen und die Rückgabewerte dieser in einem Array speichern, oder wie? Ein wenig präzisere Problembeschreibungen wären wirklich hilfreich. Zitieren
TeamBob Geschrieben 4. März 2009 Autor Geschrieben 4. März 2009 (bearbeitet) so also bis jetzt sieht es so aus mein Aufruf List<Document> documents= getSearchBean().searchInDocumentFieldsForSimpleSearch(and_search, userId); WSDocument ret[] = new WSDocument[documents.size()]; Jetzt muss die for schleife kommen die Liste der methoden durchläuft.... mehr brauch ich erstmal nicht. Vergesst die arrayumwandlung, die mache ich später. Nur erstmal die for-Schleife dafür Bearbeitet 4. März 2009 von TeamBob Zitieren
flashpixx Geschrieben 4. März 2009 Geschrieben 4. März 2009 (bearbeitet) List<Document> documents= getSearchBean().searchInDocumentFieldsForSimpleSearch(and_search, userId); WSDocument ret[] = new WSDocument[documents.size()]; Jetzt muss die for schleife kommen die Liste der methoden durchläuft.... Welche Methoden bzw von welchem Objekt? Du hast ein Array mit Objekten vom Typ WSDocument und eine Liste aus Documents. Bitte formuliere Dein Problem wirklich klar, deutlich und vor allem präzise, so dass man die Zusammenhänge erkennt! Phil Bearbeitet 4. März 2009 von flashpixx Ergänzug Zitieren
TeamBob Geschrieben 4. März 2009 Autor Geschrieben 4. März 2009 naja oben habe dich schon in meinen ersten Post die Klasse WSDocuments gepostet und die Methoden davon muss ich komplett durchlaufenn also ID und Name... Zitieren
flashpixx Geschrieben 4. März 2009 Geschrieben 4. März 2009 [...] und die Methoden davon muss ich komplett durchlaufenn also ID und Name... Du kannst keine Methoden durchlaufen, denn sie sind statisch. Formuliere klar! Willst Du von jedem Objekt in Deinem Array Deine Methode aufrufen oder willst Du eine Liste Deiner Methoden von Deinen Objekten? Phil Zitieren
TeamBob Geschrieben 4. März 2009 Autor Geschrieben 4. März 2009 habs schon gelöst....danke trotzdem @WebMethod public WSDocument [] searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId) { List<Document> documents= getSearchBean().searchInDocumentFieldsForSimpleSearch(and_search, userId); WSDocument ret[] = new WSDocument[documents.size()]; for(int x = 0; x != documents.size(); x++) { ret[x] = new WSDocument(); ret[x].setId(documents.get(x).getId()); ret[x].setName(documents.get(x).getName()); } return ret; } } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.