代码:
public class Equals {
public static void main(String[] args) {
String s1 = new String("java");
String s2 = new String("java");
if (s1 == s2) {
System.out.println("s1 == s2 is TRUE");
}
if (s1.equals(s2)) {
System.out.println("s1.equals(s2) is TRUE");
}
}
}
Run Code Online (Sandbox Code Playgroud)
作为Java应用程序,输出是:
s1.equals(s2) is TRUE
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为s1和s2实际上指向不同的内存地址.但是在GroovyConsole中的Groovy脚本中,输出是:
s1 == s2 is TRUE
s1.equals(s2) is TRUE
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
groovy ×1