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

==

不可以比较