Verschachtelte Objekte initialisierenJava

Java-Forum
Anonymous
 Verschachtelte Objekte initialisieren

Post by Anonymous »

Ich habe eine Reihe verschachtelter Objekte, jedes übergeordnete Objekt hat mehrere untergeordnete Objekte. Ich habe benutzerdefinierte Klassen erstellt, um diese Daten zu speichern, aber jetzt muss ich verstehen, wie die Klassen initialisiert werden.
Die Daten sehen so aus:

Code: Select all

2021-06-20
AMBULANCE\CA\Los Angeles
Morning
4
Afternoon
5
Nights
5
AMBULANCE\CA\San Deigo
Afternoon
7
Nights
6
Morning
4
2021-06-21
AMBULANCE\CA\Los Angeles
Night
6
Morning
5
Afternoon
5
ANBULANCE\CA\San Francisco
Afternoon
5
Morning
4
....
Um diese Daten zu speichern, habe ich diese Klassen:

Code: Select all

public class RootNode {
public RootNode(){}
public Set shiftDateSet;
}

public class ShiftDate {
public LocalDate date;
public Set location;
}

public class Location {
public Set shifts;
}

public class ShiftType {
public enum ShiftTypes {
MORNING, AFTERNOON, NIGHT
}
public Integer count;
}
Dann führe ich eine Schleife über deserialisierten JSON durch, um meine neue benutzerdefinierte RootNode-Klasse zu füllen:

Code: Select all

RootNode rootNode = new RootNode();

for (Entities e: rootJsonNode.someEntity) {
LocalDate someDate;
someDate = e.dto.startDateTime.toLocalDate();
if (!rootNode.get(someDate)) {
rootNode.shiftDateSet.add(new ShiftDate(date, new Set ))
// the line above should add a new date AND add
// new Set but do not need to bind to
// a name for the Set.
}
if (rootNode.get(someDate)) {
// node already exists, so add stuff and increment counter
}

}
Ich überprüfe, ob bereits ein Datum im RootNode vorhanden ist, und wenn nicht, füge es hinzu, aber hier brauche ich Hilfe: Bevor ich das Datum hinzufüge, muss ich ein neues ShiftDate und alle untergeordneten Objekte initialisieren.
Letztendlich möchte ich auf rootNode.getShiftDate(date).getLocation(location).getShiftType(type).getCount(); zugreifen können.
Wie mache ich das?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post