Integer in java.util.Stack ein- und auslesen?

  • Ich möchte ein paar int-Werte in einen Stack push()-en und wieder pop()-en. Aber bei dem Befehl

    Code
    int iOp1 = operandStack.pop();

    regt Java sich auf und sagt mir:

    Code
    Upn.java:17: incompatible types
    found   : java.lang.Object
    required: int
    			int iOp1 = operandStack.pop();
                                                       ^

    Wie kann man Integerwerte auf java.util.Stack ein- und auslesen?

  • in diesem fall hast du 2 möglichkeiten:
    entweder wird aus

    Code
    int iOp1 = operandStack.pop();
    Code
    int iOp1 = (Integer) operandStack.pop();

    oder aus deinem

    Code
    Stack operandStack = new Stack();

    wird ein

    Code
    Stack<Integer> operandStack = new Stack<Integer>()

    das ding ist, dass wenn du einen int in einen object-stack reinpusht beim rauspoppen natürlich keiner mehr wissen kann, dass da ein int rauskommt.
    deshalb entweder casten, oder gleich sagen, dass es sich um einen stack mit nur ints drin handelt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!