这是代码:
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()?显然它不能为空.
不是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与==
或搜索谷歌进行字符串比较,这是一个非常受欢迎的话题.