Hey,
hab folgendes problem. Hab eine Klasse Person und ein Web Service der eine ArrayList vom Typ Person. Jetzt muss ich in einer Bean die ArrayList nach Bestimmten Parametern sortieren z.B zeig mir alle Personen aus der Stadt … da ich eine Bean benutzen muss kann ich nur ein wert ausgeben. Jetzt hab ich versucht in der Bean eine neue ArrayList Benutzer zu erstellen und die Werte zu übertragen jedoch Wenn ich eine ArrayList die alte oder neue ausgebe bekomme ich nur Servicename.Klassennamen@12c33 züruck ich kann auf die Werte nur mit der get Methode zurück greifen.
Kann mmir eine Sagen wieso er mir die Werte nicht zurückgibt wenn ich auf die liste zugreife und wie ich am besten vorgehen soll.
Ein KSKB wäre hilfreich.
Wenn du wirlklich eine [JAPI]ArrayList[/JAPI] und kein [JAPI]Array[/JAPI] hast, dass Du ausgibst, liegt Deine merhwürdige Ausgabe daran, dass Deine Bean die toString()
Methode nicht überschreibt.
Falls Du keine [JAPI]ArrayList[/JAPI] sondern ein [JAPI]Array[/JAPI] ausgibst liegt es daran, dass man Arrays nicht einfach an System.out.println()
übergeben kann. Die toString()
Methode von Arrays ist nämlich die Standard-Implementierung von [JAPI]Object[/JAPI] und ruft eben nicht toString()
der Elemente auf, wie das die Imlementierungen der [JAPI]Collection[/JAPI]s tun…
bye
TT
Ja hab eine ArrayList wie kann ich die toString() Methode überschreiben, kann man sich da irgenwo einlesen?
*** Edit ***
Welchen Quellcode soll ich zeigen?
die Bean? oder nur die set Methode ?
*** Edit ***
private ArrayList <Person> liste = new ArrayList <Person>();
public ArrayList <Person> getListe(){
return liste;
}
public void setTeil (String eingabe){
int a = 1;
Hier wird der Web Service aufgerufen
Person person1 = webService.daten(a)
try {
while (person1 !=null){
a++;
if (person1.getName();.equal(eingabe){
liste.add(person1)
}
}
}
}
Das ist ein Teil des QuellCodes habs auch noch anders versucht das ich die Variabalen einzeln setze und dann die Person übergebe mit ner Neuen Liste hatte aber das gleich problem.
[quote=justmejj]wie kann ich die toString() Methode überschreiben, kann man sich da irgenwo einlesen?[/quote]Na klar, such die hier was aus.
[quote=justmejj;117842]Welchen Quellcode soll ich zeigen?
die Bean?[/quote]wäre ein Anfang.
[quote=justmejj;117842]public class TeilBean{[/quote] das ist kein KSKB. damit lässt sich Dein Problem nicht nachstellen.
bye
TT
Danke erstmal für die Hilfe!
Ok hab mich da jetzt eingelesen, mein Problem ist aber das ich integer Werte habe und mit diesen dann später arbeiten muss, wäre das möglich mit toString?
Probleme bereitet mir nur dass ich alles mit Beans machen muss und dann als JSPanstossen und ausgeben muss. Als normales Programm wäre das alles kein problem hab es ja schon.
[quote=justmejj]mein Problem ist aber das ich integer Werte habe und mit diesen dann später arbeiten muss[/quote]Die werden bei Bedarf Dank autoboxing in Iterger-Objekte umgewandelt. Die haben eine sinnvolle eigene toString()-Implementierung.
bye
TT
Hab einen Neuen Ansatz probiert, mein erster war ja im WebService ein Methode ,die Einzelnen Objekte der ArrayList ausgegeben hat. Nun Hab ich eine Methode erstellt die mir die ArrayListe als Rückgabetyp zurück gibt, neues Problem wenn ich den WebService aufrufe und die ArrayList an meine Bean übergebe wird aus der ArrayList eine List. Hab etwas gegoogelt und herausgefunden das der WebService nur Listen zurückgibt. Ok hab probiert die Methode die, den Parameter ArrayList aufnimmt als List zu implementieren List kann aber wohl keine Objekte aufnehmen. Kann mich einer in die richtige Richtung schubsen, wäre echt nett.
[quote=justmejj]Hab etwas gegoogelt und herausgefunden das der WebService nur Listen zurückgibt.[/quote][JAPI]List[/JAPI] ist ein Interface.
[JAPI]ArrayList[/JAPI] ist eine konkrete Implementierung dieses Interfaces.
Du willst aus deinem Webservice nicht wirklich eine [JAPI]ArrayList[/JAPI], sondern eine [JAPI]List[/JAPI], also eine [JAPI]Collection[/JAPI], die (in welcher Form auch immer) die Reihenfolge der Elemente nicht zufällig durcheinanderwürfelt.
Du bist hier auf ein grundlegendes Entwurfsmuster gestoßen: Programmieren gegen Interfaces.
bye
TT
Danke habs hinbekommen.