<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Greedy的工作室

    posts - 23,comments - 7,trackbacks - 0
    先看一段小程序:

    ---------------------------------------------------------------

    1.public class MyClass
    2.{
    3.      static String s1 = "I am unique!";
    4.      public static void main(String args[])
    5.      {
    6.            String s2 = "I am unique!";
    7.            String s3 = new String(s1);
    8.            System.out.println(s1 == s2);
    9.            System.out.println(s1.equals(s2));
    10.          System.out.println(s3 == s1);
    11.          System.out.println(s3.equals(s1));
    12.          System.out.println(TestClass.s4 == s1);
    13.     }
    14.}

    ---------------------------------------------------------------

    這段程序是非常簡(jiǎn)單的。但是為什么new出來(lái)的對(duì)象用==判斷為false,而基本類(lèi)型的直接賦值用==判斷就是true呢?

    這是因?yàn)樵贘AVA的對(duì)象存儲(chǔ)機(jī)制里,new出來(lái)的一定是對(duì)象,而對(duì)象在內(nèi)存中的存貯位置在Heap(堆)中,而基本類(lèi)型在程序中出現(xiàn)的比較頻繁(注:JAVA中的基本類(lèi)型為8中,分別是:boolean,char,byte,short,int,long,float,double),所以通過(guò)new產(chǎn)生這些對(duì)象而將其放入在heap中效率反而不高,所以JAVA直接采取C/C++的方式,也就是不以new來(lái)分配其空間,而是產(chǎn)生一種所謂的“automatic”變量(不在是reference的形式),來(lái)解決效率的問(wèn)題,此類(lèi)變量直接放數(shù)據(jù)值,并且置于stack(棧)中,因?yàn)閟tack在空間的分配和釋放上,效率要好的多。而恰恰是這種在內(nèi)存中位置的不同,在stack中為基本類(lèi)型變量分配空間時(shí),如果stack中有一樣的數(shù)據(jù)時(shí),將不在創(chuàng)建新的數(shù)據(jù),所以導(dǎo)致這個(gè)時(shí)候比較的兩個(gè)基本類(lèi)型值時(shí),即使用==也是true。

    因?yàn)镴AVA保存了基本類(lèi)型,而基本類(lèi)型(入int、char等)并不具備面向?qū)ο蟮奶攸c(diǎn),比如擁有類(lèi)的對(duì)象和方法。所以在JAVA中引入了new出來(lái)的基本類(lèi)型,比如character c = new character( )的形式。基于此,嚴(yán)格的講,JAVA并不是像人們所宣稱(chēng)的是徹底的純粹的面向?qū)ο笳Z(yǔ)言。

    簡(jiǎn)單點(diǎn)就是
    ==:
    1、比較的是操作符兩端的操作數(shù)是否是同一個(gè)對(duì)象
    2、兩邊的操作數(shù)必須是同一類(lèi)型的(可以是父子類(lèi)之間)才能編譯通過(guò)。
    3、比較的是地址,如果是具體的阿拉伯?dāng)?shù)字的比較,值相等則為T(mén)RUE,如:
          int a=10 與 long b=10L 與 double c=10.0都是相同的(為true),因?yàn)樗麄兌贾赶虻刂窞?0的堆
    equals:
    1、比較的是兩個(gè)對(duì)象的內(nèi)容是否一樣

    posted on 2008-09-03 21:02 greedy 閱讀(233) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java技術(shù)
    主站蜘蛛池模板: 亚洲成AV人综合在线观看| 亚洲成a人片毛片在线| 免费国产a理论片| 国产gav成人免费播放视频| 久久亚洲精品无码网站| 国产美女a做受大片免费| 久久亚洲精品11p| 免费a级毛片永久免费| a在线免费观看视频| 亚洲乱色熟女一区二区三区丝袜| 中国毛片免费观看| 亚洲成av人片在线观看无码不卡| 日本免费久久久久久久网站| 久久久久亚洲精品天堂| 成年女人男人免费视频播放| 亚洲AV色欲色欲WWW| 亚洲国产成人久久一区WWW| 国产黄色免费观看| 无码乱人伦一区二区亚洲一| 无码乱肉视频免费大全合集 | 国偷自产一区二区免费视频| 亚洲成AV人片在线观看| 免费专区丝袜脚调教视频| 亚洲熟女综合一区二区三区| 免费播放特黄特色毛片| 精品亚洲永久免费精品| 亚洲精品成人久久| 国产三级电影免费观看| 国内精品免费久久影院| 亚洲www在线观看| 亚洲天堂在线视频| 亚洲一区二区免费视频| 国产精品亚洲二区在线| 亚洲成年轻人电影网站www | 亚洲AV成人片色在线观看高潮| 18禁美女裸体免费网站| 国产精品亚洲а∨无码播放不卡 | 亚洲日韩AV一区二区三区中文| 亚洲真人日本在线| AV无码免费永久在线观看| 免费国产污网站在线观看不要卡|