glad to see you figured it out.
Yes, you can't use the == comparison for strings because strings are objects. The == on objects compares the addresses of the strings. Just because the value of two strings are the same doesn't necessarily mean they have the same address. Ex: There are two perfectly identical bolts. On is used to hold the wheels on your car on. The other is used to hold some piping in place. While they are identical (have the same value) they are not the same bolt.
The .equals method is implemented to find the same value rather than comparing if two things are the same thing.
Note: this breaks down when you start talking about the primitive data types, this is because of the lower-level implementations of java. I won't get into the details here, though because that would require nasty talk about pointers