String a = \"Hello\\u200e\";
String b = \"Hello\\u200f\";
System.out.println(\"a = \'\" + a + \"\' and b = \'\" + b + \"\' are length \"
+ a.le
Because the character sequences are not identical. Just because it appears the same on the console does not mean the objects are identical.
U+200E and U+200F are not printable characters. They're both control characters which dictate how the text should be rendered - either left to right, or right to left.
You won't see these in the terminal, and they shouldn't be equivalent strings.
0x200E ^ 0x200F != 0