程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 深刻Java弗成變類型的詳解

深刻Java弗成變類型的詳解

編輯:關於JAVA

深刻Java弗成變類型的詳解。本站提示廣大學習愛好者:(深刻Java弗成變類型的詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻Java弗成變類型的詳解正文


我們先看上面一個例子:

    import java.math.BigInteger; 
    public class BigProblem { 
        public static void main(String[ ] args) { 
            BigInteger fiveThousand  = new BigInteger("5000"); 
            BigInteger fiftyThousand = new BigInteger("50000"); 
            BigInteger fiveHundredThousand = new BigInteger("500000"); 
            BigInteger total = BigInteger.ZERO; 
            total.add(fiveThousand); 
            total.add(fiftyThousand); 
            total.add(fiveHundredThousand); 
            System.out.println(total); 
        } 
    } 

你能夠會以為這個法式會打印出555000。究竟,它將total設置為用BigInteger表現的0,然後將5,000、50,000和500,000加到了這個變量上。假如你運轉該法式,你就會發明它打印的不是555000,而是0。很顯著,一切這些加法對total沒有發生任何影響。

對此有一個很好來由可以說明:BigInteger實例是弗成變的。String、BigDecimal和包裝器類型:Integer、Long、Short、Byte、Character、Boolean、Float和Double也是如斯,你不克不及修正它們的值。我們不克不及修正現有實例的值,對這些類型的操作將前往新的實例。起先,弗成變類型看起來能夠很不天然,然則它們具有許多勝過與其向對應的可變類型的優勢。弗成變類型更輕易設計、完成和應用;它們失足的能夠性更小,而且加倍平安[EJ Item 13]。

為了在一個包括對弗成變對象援用的變量上履行盤算,我們須要將盤算的成果賦值給該變量。如許做就會發生上面的法式,它將打印出我們所希冀的555000:

    import java.math.BigInteger; 
    public class BigProblem { 
        public static void main(String[] args) { 
            BigInteger fiveThousand  = new BigInteger("5000"); 
            BigInteger fiftyThousand = new BigInteger("50000"); 
            BigInteger fiveHundredThousand = new BigInteger("500000"); 
            BigInteger total = BigInteger.ZERO; 
            total = total.add(fiveThousand); 
            total = total.add(fiftyThousand); 
            total = total.add(fiveHundredThousand); 
            System.out.println(total); 
        } 
    } 

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