基本數(shù)據(jù)類型和引用類型想到的

字號:

基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。
    引用數(shù)據(jù)類型包括:類,數(shù)組,接口
    基本數(shù)據(jù)類型和引用類型的區(qū)別主要在于基本數(shù)據(jù)類型是分配在棧上的,而引用類型是分配在堆上的。
    由此,我們分析一下”==“和equals()的區(qū)別。
    首先,我定以兩個String對象
    String a="abc";
    String b="abc";
    然后
    if(a==b){System.out.println("a==b");}
    else
    {System.out.println("a!=b");}
    程序輸出a!=b
    原因:a和b的地址是不相同的,a==b比較的是兩個變量的地址
    定義兩個基本類型
    int a=4;
    int b=4;
    if(a==b){System.out.println("a==b");}
    else
    {System.out.println("a!=b");}
    輸出:a==b
    原因:==比較的是兩個變量的內(nèi)容
    猜想:不論是基本數(shù)據(jù)類型還是引用類型,他們都會先在棧中分配一塊內(nèi)存,對于基本類型來說,這塊區(qū)域包含的是基本類型的內(nèi)容;而對于對象類型來說,這塊區(qū)域包含的是指向真正內(nèi)容的指針,真正的內(nèi)容被手動的分配在堆上。