Stackabarbeitung - Wozu dient das "True" ?

Werniman

Mitglied
Hallo,
ich bin noch immer dabei, mein Lieblings-Java-Buch abzuarbeiten und bin nun beim Thema Stacks angeangt. Hier habe ich folgenden Code und steh etwas auf dem Schlauch:

Code:
public class DequeStack {

    public static void main(String[] args) {
        new DequeStack();
    }

    public DequeStack() {
        LinkedList<String> stack = new LinkedList<>();
        stack.push("Alpha");
        stack.push("Beta");
        stack.push("Charlie");
        try {
            while (true) {
                System.out.println(stack.pop());
            }
        } catch (NoSuchElementException e) {
        }
    }
}

Push legt die Objekte auf den Stapel. Dann soll versucht werden,sie per pop wieder vom Stapel runterzunehmen. Aber wo kommt das einzelne true hinter der While-Anweisung her ? Müsste da nicht vorher erstmal geprüft werden, ob da noch weitere Objekte vorhanden sind ? Irgendwie macht es den Eindruck, dass die While-Schleife erstmal prüft, ob ihr Anweisungsblock überhaupt ausführbar ist, bevor sie ihn tatsächlich ausführt.
 

MoxxiManagarm

Top Contributor
Der Code sagt mit dem true er soll "endlos" die Schleife wiederholen, also "endlos" ein Element vom Stack runterholen. Natürlich macht endlos keinen Sinn hier. Der Code erwartet an der Stelle, dass irgendwann die NoSuchElementException geworfen wird. Mit einer solchen Exception würde das Programm dann aus der Endlos-Schleife hinausspringen und beenden.

Eine solche Logik ist meiner Erfahrung nach aber eine Bad Practice. Besser wäre es pre-pop zu prüfen, ob noch Elemente da sind. z.B. mit isEmpty()
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wozu dient Interfaces? Java Basics - Anfänger-Themen 6
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
R Wozu sind Annotations da? Java Basics - Anfänger-Themen 3
H abstract - Wozu? Java Basics - Anfänger-Themen 6
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
V OOP Wozu Objekt erstellen? Java Basics - Anfänger-Themen 2
G Wozu ist die Methode offsetByCodePoints(int, int) beim StringBuilder sinnvoll? Java Basics - Anfänger-Themen 1
G wozu dient getContentPane()? Java Basics - Anfänger-Themen 1
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
P Wozu brauche ich (this.)? Java Basics - Anfänger-Themen 3
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
B Wozu Observer? Java Basics - Anfänger-Themen 9
D Sinn von Interfaces - Wozu? Java Basics - Anfänger-Themen 9
J Datentypen Array in enum, ?? Wozu ?? Java Basics - Anfänger-Themen 3
J Wozu werden die anonyme Klassen verwendet? Java Basics - Anfänger-Themen 9
F Wozu ist Java gut? Java Basics - Anfänger-Themen 7
H Maps? Wozu? Nutzen? Java Basics - Anfänger-Themen 3
0 Wozu braucht man Generics? Java Basics - Anfänger-Themen 1
V wozu ist das 'L' beim long notwendig ? Java Basics - Anfänger-Themen 5
A wozu ant? Java Basics - Anfänger-Themen 12
S Wozu dient die Main Class? Java Basics - Anfänger-Themen 3
Y Wann / Wozu inner class Java Basics - Anfänger-Themen 3
S Desginfrage Interface - aber wozu eigentlich? Java Basics - Anfänger-Themen 2
E Wozu dienen Schnittstellen? Java Basics - Anfänger-Themen 16
N Wozu Applications? Java Basics - Anfänger-Themen 8
M Methode bekommt ein Objekt der Klasse als Parameter. Wozu? Java Basics - Anfänger-Themen 4
R Wozu sind Interfaces gut? Java Basics - Anfänger-Themen 14
B Hashcode?Was ist das und wozu? Java Basics - Anfänger-Themen 2
R Wozu Interfaces ? Java Basics - Anfänger-Themen 5
G Konstruktoren (was, wozu, wieso, warum) Java Basics - Anfänger-Themen 4
J Kapselung - Dient dazu, um nur den Coder zu "schützen"? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben