This will return false using the == operator. Basically the toUpperCase (or any String method) will create a new object in the string pool. So think of string methods as the equivalent of using the new String("String") constructor.
However, their are 2 exceptions to this rule (Don't you just love the complexities of Java, come on it's sooo much better than PHP). The first is when the intern() method is used. basically intern() condenses the string pool and unite all strings so that they are the same object. Good for memory management.