== vs equals()
== asks "same object?"; equals() asks "same value?". For primitives, == compares values.
new String("a") == new String("a") is false; .equals is true.
Use == for int, char, boolean and for null checks. Use .equals() for String, Integer and your own classes.