I have a piece of code which I need to understand:
public static void main(String[] args) {
Character c = new Character('a');
Character cy = new Character('a');
char cx = 'a';
System.out.println(c == cx);
System.out.println(cx == cy);
System.out.println(c == cy);
}
Output:
true
true
false
I am unable to understand why only the third statement is failing.
EDIT: This question is different to the .equals
vs ==
question as this about primitive versus object comparison.