我在Java中有两个字符串:
String a = "ab";
String b = "ab";
我用string.equals()
方法测试它们,因为==
运算符只检查对象的引用是否相等。
为什么我可以在JavaScript中使用==
?
答案 0 :(得分:1)
在Java中,您应该使用String.equals()
== Java中的运算符检测它们是否是同一个对象,因为Java中的String是一个Object而不是像int,float这样的原始对象。 ==将检查他们是否有相同的地址
例如:
String a = new String("hello");
String b = "hello";
a.equals(b) // true
a == b // false
a和b不是同一个对象,但它们具有相同的内容。
答案 1 :(得分:1)
在Java中==
比较变量是否指向同一个对象。它不进行语义比较。在Javascript中==
比较字符串。
答案 2 :(得分:0)
String a = "ab";
正在分配值。
==
检查字符串之间的引用。 .equals()
检查值。
另外为了完整性,我应该在javascript中提到你也可以===
,所以像null这样的东西等于false。
true === 1 //false
true == 1 //true