天天看點

JavaScript、PHP、Python、Java内容比較和位址比較

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
    }
}
      

結論

語言 比較内容相等 比較對象位址相等 不同類型比較
== === 自動轉換
is 不轉換
equals 不可以比較