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 | == | 不可以比较 |