in short: because basic operators only work on primitive types
for any OBJECT < > != == ... does a basic operation on the POINTER value of this variable
in c++ those operators can be overwritten
in objC and java and other languages you need to use the isEqual function of NSObject