Weird == vs .equals() behavior

I would think "duck typing" would allow the use of == or != to apply to string types too.

In conditionals, I have to use varName1.equals(varName2) for some types. If I accidentally use "==" in those situations, it seems at times I don't get an error, it just silently does the wrong thing.

Just a suggestion that the language gurus consider adapting the == parsing to handle all types.