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

时间:2013-05-22 07:54:32

标签: java javascript

我在Java中有两个字符串:

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

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

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

3 个答案:

答案 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";正在分配值。

Java中的

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

您应该在.equals vs == in java

上查看此问题以获取更多答案

另外为了完整性,我应该在javascript中提到你也可以===,所以像null这样的东西等于false。

true === 1 //false

true == 1 //true