Objekte einer ArrayList richtig ausgeben?

xrakuzan1

Mitglied
Hey,
ich schreibe grad ein kleines Programm zu einem Sicherheitssystem, welches im Fall eines Feueralarms alle Türen öffnet. Habe bereits eine Arraylist vom Typ "Door" erstellt:

Java:
ArrayList<Door> liste = new ArrayList();
    liste.add(new Door(1, true));
    liste.add(new Door(2, false));
    liste.add(new Door(3, false));
    liste.add(new Door(4, true));
   
    activateFirealarm();
    for (int i = 0; i< liste.size(); i++) { 
        liste.get(i).setLocked(true);
       
    System.out.println(liste);

Er gibt mir so, jedoch nur den Speicherort der Objekte an( bsp.: Door@15db9742).
Meine Frage nun: Wie kann ich nun nur den boolean wert abfragen?

Wenn ich am Ende beim sysout eine Methode an die Liste anhängen will, bekomme ich eine Fehlermeldung:

Java:
System.out.println(liste.isStatus);
Fehlermeldung: "isStatus cannot be resolved or is not a field".
 
Naja, ich finde allerdings auch, dass der Bezeichner "isStatus" ziemlich doof ist, trotz der korrekten Schreibweise.

Was soll "Tür.istStatus" denn Sinnvolles ausdrücken?

Ich kann mir darunter nichts vorstellen...

Besser wäre möglicherweise "hasState", wobei immernoch die Frage im Raum stehen würde, was eine Tür mit dem Status "true" dann wohl ist.

Gut wäre wohl sowas wie "isOpen" oder "isClosed".
 
Danke für die Erklärung, temi. 🙂 Dann brauchte ich das nicht erklären.

@xrakuzan1 , also, durch das Durchgehen aller Türen, kannst du alle noch nicht geöffneten Türen bei einem Feueralarm öffnen. Mit den "=="-Zeichen kannst du zwei nicht komplexe Variablen auf ihre Gleichheit überprüfen.
 

Zurück
Oben