-3

我在Java中有两个字符串:

String a = "ab";
String b = "ab";

我用string.equals()方法测试它们,因为==操作符只检查对对象的引用是否相等。

为什么我可以==在 JavaScript 中使用?

4

3 回答 3

1

在 Java 中,您应该使用String.equals()

Java 中的 == 运算符正在检测它们是否是同一对象,因为 Java 中的 String 是一个对象,但不是像 int、float 这样的原始对象。== 将检查他们是否有相同的地址

示例:

String a = new String("hello");
String b = "hello";

a.equals(b) // true
a == b // false

a 和 b 不是同一个对象,但它们具有相同的内容。

于 2013-05-22T07:55:09.777 回答
1

在 Java==中比较变量是否指向同一个对象。它不进行语义比较。在 Javascript 中,==比较字符串。

于 2013-05-22T07:56:04.687 回答
0

String a = "ab";正在赋值。

==在 Java 中检查字符串之间的引用。 .equals()检查值。

您应该查看此问题以获取有关java 中 .equals 与 ==的更多答案

同样为了完整性,我应该在javascript中提到你也可以这样做===,比如null等于false。

true === 1 //false

true == 1 //true

于 2013-05-22T07:55:44.457 回答