<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技術
    主站蜘蛛池模板: 妇女自拍偷自拍亚洲精品| 国产亚洲一区二区三区在线| 亚洲网站免费观看| 久久青草精品38国产免费| 亚洲午夜未满十八勿入网站2| 青青青国产在线观看免费网站| 四虎影视精品永久免费| 亚洲人成未满十八禁网站| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 无码专区AAAAAA免费视频| 亚洲乱色熟女一区二区三区丝袜| 亚洲色欲www综合网| 亚洲黄色免费网址| 精品丝袜国产自在线拍亚洲| AV片在线观看免费| 亚洲av中文无码乱人伦在线观看| 免费观看91视频| 亚洲国产天堂久久综合网站| 久久人午夜亚洲精品无码区| 四虎永久免费地址在线网站| ssswww日本免费网站片| 亚洲韩国精品无码一区二区三区 | 亚洲日韩国产成网在线观看| 精品人妻系列无码人妻免费视频| 桃子视频在线观看高清免费完整| 亚洲日韩欧洲乱码AV夜夜摸| 国产精品亚洲专区无码WEB| 凹凸精品视频分类国产品免费| 亚洲免费一级视频| 国产乱弄免费视频| 国产在线精品观看免费观看| 国产∨亚洲V天堂无码久久久| 一级做α爱过程免费视频| 亚洲大尺度无码专区尤物| 无码人妻一区二区三区免费手机| 亚洲国产精品国自产拍电影| 成年人免费视频观看| 亚洲理论片在线中文字幕| 一级毛片aaaaaa免费看| 亚洲AV无码一区东京热久久 | 亚洲精品动漫在线|