Hallo!
Ich habe da ein Problem: Nehmen wir mal eine ganz simple Klasse:
Angenommen ich habe schon einige fertige Objekte der Klasse Person, dann ist es ja ein leichtes folgendes zu tun:
So jetzt kommt aber der Teil, der etwas knifflig wird. Ich möchte (muss) für mein Projekt die Methoden auch für Arrays zugänglich machen - also was in der Art:
Aber "personen" ist jetzt ja ein Array und ich kann natürlich nicht ".getVorname" ausführen -> genau das muss ich aber. Welche Möglichkeiten habe ich das zu tun?
Leider kann man weder das Java Object Array erweitern noch eine Klasse ala "... extends Person[]" anlegen. Der Workaround der mir eingefallen wäre ist, dass ich mir für jede Klasse eine zweite Array Klasse anlege - z.B.:
Ich habe aber nicht nur eine Klasse, das wäre also ganz schon viel Arbeit. Ich habe es auch schon mal mit Reflection versucht. Habe dort aber das Problem, dass ich die Methode und deren Parameter immer als String resp. als Objekt mitgeben muss. Laufe dann aber rasch in Regressionsprobleme wenn z.B. in dem Objekt Person auch ein Objekt Adresse vorkommt.
Gibts da nicht noch bessere Möglichkeiten? Dieses Problem werden doch sicher schon Mehrere gehabt haben. Am bessten wäre natürlich was das dann im Eclipse die möglichen Methoden vorblendet.
Vielen Dank und sG
Christian
Ich habe da ein Problem: Nehmen wir mal eine ganz simple Klasse:
Code:
public class Person {
private String Vorname;
private String Nachname;
public Person(){}
public String getNachname() {
return Nachname;
}
public void setNachname(String nachname) {
Nachname = nachname;
}
public String getVorname() {
return Vorname;
}
public void setVoname(String vorname) {
Nachname = vorname;
}
}
Angenommen ich habe schon einige fertige Objekte der Klasse Person, dann ist es ja ein leichtes folgendes zu tun:
Code:
//Persion iw = <ein Personen Object>;
String Name = iw.getVorname();
So jetzt kommt aber der Teil, der etwas knifflig wird. Ich möchte (muss) für mein Projekt die Methoden auch für Arrays zugänglich machen - also was in der Art:
Code:
//Persion[] personen = <ein Personen Object Array>;
String[] VorNamen = personen.getVorname();
Aber "personen" ist jetzt ja ein Array und ich kann natürlich nicht ".getVorname" ausführen -> genau das muss ich aber. Welche Möglichkeiten habe ich das zu tun?
Leider kann man weder das Java Object Array erweitern noch eine Klasse ala "... extends Person[]" anlegen. Der Workaround der mir eingefallen wäre ist, dass ich mir für jede Klasse eine zweite Array Klasse anlege - z.B.:
Code:
public class Personen {
private String[] Vornamen;
private String[] Nachnamen;
public Personen(Person[] arrPerson){
...
}
}
Ich habe aber nicht nur eine Klasse, das wäre also ganz schon viel Arbeit. Ich habe es auch schon mal mit Reflection versucht. Habe dort aber das Problem, dass ich die Methode und deren Parameter immer als String resp. als Objekt mitgeben muss. Laufe dann aber rasch in Regressionsprobleme wenn z.B. in dem Objekt Person auch ein Objekt Adresse vorkommt.
Code:
String[] vornamen = getFromArr(<Person Array>, "getVorname", null);
Gibts da nicht noch bessere Möglichkeiten? Dieses Problem werden doch sicher schon Mehrere gehabt haben. Am bessten wäre natürlich was das dann im Eclipse die möglichen Methoden vorblendet.
Vielen Dank und sG
Christian