toUpperCase不能像我期望的那样运作

Cod*_*ein 0 java

可能重复:
如何比较Java中的字符串?
Java中的字符串:equals vs ==

我有两个字符串; 一个是小写的"你好",一个是上层的"你好".

当我将toUpperCase应用于变量,然后使用布尔值来比较它们时,它们的出现并不相等,我无法弄清楚原因.

public static void main(String[] args) {

    String a = "hello";
    String b = "HELLO";

    a = a.toUpperCase();
    b = b.toUpperCase();

    boolean c = (a==b);

    System.out.println(b + " " + a + " " + c);
}
Run Code Online (Sandbox Code Playgroud)

输出是HELLO HELLO假,但它应该是HELLO HELLO true.不应该吗?我错过了什么?

Ale*_*lex 8

toUpperCase工作正常.你必须用来equals检查两个字符串是否相等.

boolean c = a.equals(b);
Run Code Online (Sandbox Code Playgroud)