Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich bin dabei ein Haushaltsbuch in Java zu schreiben. Nun eine kleine Wissenslücke. Ich drücke auf einen Button und es wird ein Buchungsobjekt erzeugt, dieses hat verschiedene Attribute wie zb Datum, Betrag, Art usw. Dieses Objekt will ich zusammenhängend speichern (am besten in einer Datei) und dann auch mit diesem Zusammenhang laden.
Wenn ich dann suche gibMirAlleObjekteMitDatumX dann sollen mir alle Objekte ausgegeben werden, damit ich sie in einer Tabelle dem Benutzer darstellen kann.
Habt ihr eine Ahnung wie ich das am galantesten mache?
willst du die objekte persistent machen, also ueber den programmablauf speichern - dann musst du sie einfach serialisieren. wenn du sie zugreifbar im Programm machen willst reicht es z.b. eine Collection zu nehmen die dir die Objekte speichert.
Das suchen ist dann eine Suche ueber die Collection die die Objekte haelt.....
Die Objekte sollen definitiv über den Programmlauf hinweg gespeichert werden. Was ja aber nicht ausschließt, das ich sie später wieder in den Programmlauf laden will. Also muss ich mich auf die Suche nach dem machen wie man Objekte serialisiert?
ich wueder aber waehrend des programmabslaufs nicht staendig von platte lesen und wieder schreiben - halte sie lieber in einer Collection dann ist der Zugriff einfacher und schneller. erst wenn das programm fertig ist sollten die objekte gespeichert werden
Noch eine andere Frage. Wenn ich den Button Buchen drücke, wird ein neues Objekt erzeugt -> Buchung nummer1 = new Buchung(Date date, String art usw . .. );
Aber ich kann und will meine Objekte ja nicht alle nummer1 nennen? Wie kann ihnen beim erzeugen der Objekte eine individuelle ID zugewiesen werden?
Letzendlich soll es drauf hinaus laufen, das ich eine Queue mache die mir zb alle Objekte mit dem Datum X ausgibt. Diese schreib ich in einen Iterator und lass den Iterator durch eine Schleife laufen.
while (Iterator.hasNext()) Iterator.getDate usw
Dazu müssen die Objekte ja aber unterschiedbar sein. Ich kann ja nicht jedes Objekt nummer1 nennen.
wenn du die objekte in einer collection speicherst (ja ich fange wieder damit an *g*) musst du dir im prinzip um die bennenung keine sorgen machen
Code:
Collection collection = new ArrayList();
// collection fuellen
for(int i = 0; i < 10; i++) {
collection.add(new Book(....));
}
....
// collection durchlaufen
for(Iterator iter = collection.iterator(); iter.hasNext()) {
Book currentBook = (Book)iter.next();
// mach was mit dem buch
}
wenn du aber wirklich jedem objekt eine eindeutige id zuweisen willst kannst du es so machen
Code:
public class Book {
private static int number = 0:
private int myNumber;
private String title;
public Book(String title) {
this.title = title;
myNumber = ++number:
}
}
d.h. ueber eine statische variable die dir mitzaehlt ....