ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
1148
1148
EMPFEHLEN
-
05.12.05 12:04 #1
Hiho, ich probiere schon die ganze Zeit mit ArrayLists und HashSets etc rum aber ich bekomm nicht das hin was ich brauche.
gewöhnliches Beispiel:
class Person {
private string Name;
}
class Personen{
Liste oder Collection von Person
Liste[1].Name = "blub";
}
Das Problem ist, wenn ich eine Liste nehme kann ich auch irgendwelche anderen Objekte hinzufügen, als Rückgabe hab ich dann auch kein Person-Objekt was ich direkt über einen Index ansprechen kann.
Was kann man denn dafür benutzen? Solche Objektlisten braucht man doch ständig da muss es doch schon etwas bracuhbares für geben oder?
[EDIT]
Vieleicht noch mein aktueller Versuch zur besseren Verständlichkeit, das mit dem Cast in Artikel stört mich am meisten.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
import java.util.HashSet; public class ArtikelListe extends HashSet { private static final long serialVersionUID = 1L; public void addArtikel(artikel m_Artikel) { this.add(m_Artikel); } public artikel getArtikelByNumber(String m_number) { artikel foundArtikel = null; while(this.iterator().hasNext()) { foundArtikel = (artikel)this.iterator().next(); if(foundArtikel.getArtikelnummer() == m_number) break; else foundArtikel = null; } return foundArtikel; } public void test() { ArtikelListe testblub = new ArtikelListe(); artikel blub = testblub.getArtikelByNumber("AB-12"); blub.getAnbindungsnummer(); } }Geändert von MasterEvil (05.12.05 um 12:07 Uhr)
-
Moin,
Zitat von MasterEvil
zunächst einmal:
Sicher kannst Du einer Liste beliebige Objekte hinzufügen. Es liegt in Deiner Verantwortung, sie dann wieder richtig auszulesen (Stichwort casten) oder von vornherein nur Objekte gleichen Typs hinzuzufügen.
Weiterhin meine ich, dass in Java 5 letzteres sichergestellt werden kann durch
ArrayList<Person> alPersonen = new ArrayList();
oder
ArrayList<Person> alPersonen = new ArrayList()<Person>;
oder so ähnlich, musst mal in der API schauen. Dann ist auch beim Auslesen kein casten mehr nötig afaik.
-
05.12.05 13:25 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Besser:
Code :1
List<Person> persons = new ArrayList<Person>();

Gruss TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Jep, die Lösung von Thomas würde ich auch hernehmen. Mit Templates wird nämlich nur dieser vorgegbene Typ, in deinem Fall Person, zurückgeliefert. Hinzukommt, dass auch nur dieser Typ in die Liste eingefügt werden kann. Mit dieser Lösung ersparst du dir einen Haufen Arbeit
Gruß
TOMalles Gute kommt von ...
-
Jaja, elender <self-censored>
Zitat von Thomas Darimont

Ich/Wir nutze(n) noch kein Java 5, deshalb bin ich mit der Syntax nicht sonderlich vertraut.
Ob List oder ArrayList dürfte in diesem Fall keinen großen Unterschied ausmachen, außer dass man sich damit an die Empfehlungen für effektive Java-Programmierung hält und gewöhnt.
-
05.12.05 16:03 #6
Das ganze sieht schonmal super aus, ich bekomme aber noch einen Fehler bei der Klammer-Auf ganz am Ende.
Syntaxerror on token "(", Expression expected after this token
Code :1 2 3 4 5 6
import java.util.ArrayList; import java.util.List; public class PersonenListe { private List<Person> Personen = new ArrayList[]<Person>[COLOR=Red]([/COLOR]); }
Also irgendwas wird erwartet, ich hab aber bei meiner Person Klasse keinen Konstruktor oder sonstige Übergabewert?
Sorry, Eclipse hatte wohl noch irgendwo ne Referenz oder so gespeichert, hab die Klasse komplett neu erstellt und jetzt geht es einwandfrei. Besten Dank für eure Hilfe!Geändert von MasterEvil (05.12.05 um 16:37 Uhr)
-
hi!
Code :1
private List<Person> Personen = new ArrayList[]<Person>();
geht das mit den [] wirklich nach der ArrayList? Interessiert mich nur, ich hab selbst noch nicht mit Java Templates gearbeitet, aber das kommt mir optisch einfach komisch vor
Gruß
TOMalles Gute kommt von ...
Ähnliche Themen
-
Struts2: von JSP auf eine Objekt-Liste zugreifen
Von Flo[H] im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 09.12.08, 14:07 -
Feststellen ob ein Objekt erstellt wurde
Von Divi im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 27.05.06, 18:44 -
objekt erstellt mit javascript, problem :(
Von daggit im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 14.01.05, 16:40 -
Objekt mit Boolchen erstellt, Rechner geht dann in Knie !
Von Nightcrawler im Forum Cinema 4DAntworten: 15Letzter Beitrag: 26.09.04, 17:55 -
CDONTS Objekt kann nicht erstellt werden
Von KikiDieNieWasWeiss im Forum ASPAntworten: 1Letzter Beitrag: 20.04.04, 11:24





Zitieren

Login





