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

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

    這段程序是非常簡單的。但是為什么new出來的對象用==判斷為false,而基本類型的直接賦值用==判斷就是true呢?

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

    因為JAVA保存了基本類型,而基本類型(入int、char等)并不具備面向對象的特點,比如擁有類的對象和方法。所以在JAVA中引入了new出來的基本類型,比如character c = new character( )的形式?;诖?,嚴格的講,JAVA并不是像人們所宣稱的是徹底的純粹的面向對象語言。

    簡單點就是
    ==:
    1、比較的是操作符兩端的操作數是否是同一個對象
    2、兩邊的操作數必須是同一類型的(可以是父子類之間)才能編譯通過。
    3、比較的是地址,如果是具體的阿拉伯數字的比較,值相等則為TRUE,如:
          int a=10 與 long b=10L 與 double c=10.0都是相同的(為true),因為他們都指向地址為10的堆
    equals:
    1、比較的是兩個對象的內容是否一樣

    posted on 2008-09-03 21:02 greedy 閱讀(233) 評論(0)  編輯  收藏 所屬分類: Java技術
    主站蜘蛛池模板: 国产无遮挡吃胸膜奶免费看视频| 国产一卡2卡3卡4卡2021免费观看| 亚洲第一区精品观看| 亚洲国产精品无码久久98| 亚洲色偷偷av男人的天堂| 国产精品99精品久久免费| 亚洲欧洲无码AV电影在线观看| 亚洲人成电影网站| 中文免费观看视频网站| 亚洲香蕉久久一区二区| 免费人成视频在线| 色偷偷亚洲第一综合| 亚洲片一区二区三区| 免费播放在线日本感人片| 亚洲AV综合色一区二区三区| 热re99久久6国产精品免费| 亚洲精品熟女国产| 日韩高清免费观看| 一级视频免费观看| 亚洲AV无码一区二区三区系列| 少妇人妻偷人精品免费视频 | 成人爽A毛片免费看| 亚洲狠狠婷婷综合久久| 免费在线观看你懂的| 嫩草在线视频www免费看| 亚洲色成人网一二三区| 午夜爱爱免费视频| 亚洲高清无在码在线电影不卡| 巨波霸乳在线永久免费视频 | 国产精品免费久久久久影院| 亚洲AV综合色区无码一区爱AV| 四虎1515hh永久久免费| 男人的天堂av亚洲一区2区| 亚洲乱码国产一区三区| 一级毛片a免费播放王色电影 | 亚洲综合精品第一页| 免费一级毛片在播放视频| 无码人妻AV免费一区二区三区| 亚洲欧美日韩中文无线码| 国产gv天堂亚洲国产gv刚刚碰| 久久午夜夜伦鲁鲁片免费无码影视|