java string.trim()得到了意想不到的结果

mut*_*tou 0 java string

这是代码:

String str="    ";
System.out.println("("+str+")");
str=str.trim();
System.out.println(str==null);
System.out.println(str=="");
System.out.println(str.length());
System.out.println("("+str+")");
Run Code Online (Sandbox Code Playgroud)

输出是:

(    )
false
false
0
()
Run Code Online (Sandbox Code Playgroud)

什么是回归特征Multiple spaces.trim()?显然它不能为.

Sai*_*aif 5

不是null它的空字符串."".

这就是为什么

System.out.println(str==null); 
Run Code Online (Sandbox Code Playgroud)

回报false.

但是如果是的话

System.out.println(str=="");
Run Code Online (Sandbox Code Playgroud)

使用

str.equals("")
Run Code Online (Sandbox Code Playgroud)

它会回来true.

如果你想知道为什么

System.out.println(str=="");
Run Code Online (Sandbox Code Playgroud)

回归false;

阅读如何比较Java中的字符串? 或者, Java String.equals与==
或搜索谷歌进行字符串比较,这是一个非常受欢迎的话题.