Skip to content

Is there a way to deal with ‘java: bad operand types for binary operator ‘!=” in this piece of code?

I have this code and it is coming up with the following error:

java: bad operand types for binary operator ‘!=’ first type: Node
second type: int

It is suppose to have the head be 3 and the next Node have data 4. Then the while loop is suppose to print each data from each Node.

class Node {
    Node next = null;
    int data;

    public Node(int d) {
        data = d;

    Node appendToTail(int d) {
        Node end = new Node(d);
        Node n = this;
        while ( != null) {
            n =;
        } = end;
        return end;

    public static void main(String[] args) {
        Node t;
        Node obj = new Node(3);
        t = obj.appendToTail(4);
        while (t != 0)



Expected output:

3 4


Your current code, even if fixed, would result in an infinite loop, because once the while loop is entered, its condition does not change.

I think you want:

while (t != null)

but that doesn’t solve the infinite loop problem.

To have code that behaves as you expect:

for (t = obj; t != null; t = {