Forums Register Login
String == and equals() doubt

I thought it would output false true.But it gave true true.how?

(i==j)---------I and j are references having same value but different object references.Then how come it will produce true.Please explain it for me.
The problem isn't with your understanding of == and equals(); it's a question of what you're printing out.

So let's say i and j are two different objects. That means that the condition in your first if would be false. Therefore you print the boolean value of i!=j, as opposed to the String "i!=j". Since i is NOT == j, the expression i!=j is true. That's what gets printed: "true".

You can collapse that first if/else with its two println() statements into just a single...

You have a similar problem with the second if. Let's say i="Ryan" and j="Shiva". The expression in the if will be false, so it goes to the else part. There it prints out the value of the expression !i.equals(j). Since i.equals(j) is false, NOT i.equals(j) is true. So "true" gets printed.

Just replace that whole if/then with...

[ March 29, 2006: Message edited by: Ryan McGuire ]
These are the worst of times and these are the best of times. And this is the best tiny ad:
Why should you try IntelliJ IDEA ?

This thread has been viewed 629 times.

All times above are in ranch (not your local) time.
The current ranch time is
Jul 22, 2018 06:57:34.