JavaScript
age1 = 23 ; age2 = "23" ; // 值相等 console.log(age1 == age2) ; // true // 值和类型都相等 console.log(age1 === age2) ; // false
PHP
<?php $age1 = 23 ; $age2 = "23" ; // 值相等 var_dump($age1 == $age2) ; // bool(true) // 值和类型都相等 var_dump($age1 === $age2) ; // bool(false)
Python
age1 = 23 age2 = "23" # 比较内容 print(age1 == age2) # False # 比较地址 print(age1 is age2) # False
Java
class Demo{ public static void main(String[] args) { int age1 = 23 ; String age2 = "23" ; // 错误: 不可比较的类型: int和String // System.out.println(age1 == age2); String name1 = new String("Tom") ; String name2 = new String("Tom") ; // 比较字符串对象地址 System.out.println(name1 == name2); // false // 比较字符串对象内容 System.out.println(name1.equals(name2)); // true } }
结论
语言 |
比较内容相等 |
比较对象地址相等 |
不同类型比较 |
JavaScript |
== |
=== |
自动转换 |
PHP |
== |
=== |
自动转换 |
Python |
== |
is |
不转换 |
Java |
equals |
== |
不可以比较 |