程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-這究竟是怎麼回事。。Interger

java-這究竟是怎麼回事。。Interger

編輯:編程綜合問答
這究竟是怎麼回事。。Interger
    Integer i01=2;
        int i02=59;
        Integer i03=Integer.valueOf(59);
        Integer i04=new Integer(59);
        System.out.println(i01==i02);
        System.out.println(i01==i03);
        System.out.println(i03==i04);
        System.out.println(i02==i04);

為什麼輸出是
false
false
false
true

求解釋。。越詳細約好

最佳回答:


    Integer i01=2;
    int i02=59;
    Integer i03=Integer.valueOf(59);
    Integer i04=new Integer(59);

見過類似的問題 估計i01是Integer i01=59; 而不是2 如果是59的話 i01==i02 為true 有個int基本數據類型會強轉類型進行值得比較 true
i01==i02 Integer i01=2; i01是integer類型 是類 和 int i02=59;比較時會強制轉換成int類型進行比較 2==59 肯定不對 false

i01==i03 一個是2一個強轉後是59 false
i03==i04這兩個都是integer包裝類 它們在一起用==比較的話 比較的是存放數據的地址值 而不是自己所被賦予的值 false
i02==i04 02是int基本數據類型的 所以比較的是值 true

uniquewonderq
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved