Was sind die Ursachen der "Inkompatiblen Operanden-Typen" Fehler?

Bin ich versucht zu implementieren iSortableStack Interface durch eine Klasse.

Hier ist meine main-Funktion,

public class SampleStack<E> {
    E ch;

    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws IOException {
        ISortableStack<Character> s = new SortableStack<Character>();
        SampleStack demo = new SampleStack();
        while ((demo.ch == System.in.read()) != '\n')
            if (!s.isFull())
                s.push((Character) demo.ch);
        while (!s.isEmpty())
            System.out.print(s.pop());
        System.out.println();
    }
}

Aber ich bin immer ein Fehler auf dieser Linie,

while ((demo.ch == System.in.read()) != '\n')

Fehler : Inkompatible Operanden-Typen Object und int

Was ist hier falsch ?

und wenn Sie erklären demo als SampleStack<Character>?
Anstatt unterdrücken von Warnungen (wie Sie getan haben, mit der @SuppressWarnings("unchecked")), die Sie beherzigen sollten compiler-Beratung. Wenn Sie nicht verstehen, dass die Beratung, dann sollten Sie Lesen-bis Sie (das ist, was Sie tun, indem Sie Fragen hier, eine ausgezeichnete Wahl.) Im Allgemeinen: keine Warnungen ignorieren, es sei denn, Sie wissen, was Sie bedeuten.
Was genau ist ein stack sortierbar, andere als ein Widerspruch in sich?

InformationsquelleAutor alan | 2011-08-27

Schreibe einen Kommentar