国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

淺析java中Integer傳參方式的問題

2019-11-26 15:59:16
字體:
供稿:網(wǎng)友

Java本身都是值傳遞式的調(diào)用,對于對象傳遞的是地址值。給地址值重新賦值等于重新指向,不會影響外層。
而且這里Integer對象也有特殊性。其實現(xiàn)上可能類似

復制代碼 代碼如下:

class Integer{
final int value; //一旦賦值,就不能改變。
}

這就出現(xiàn):調(diào)用時傳的地址值不能改變外層+對象本身又不能改變。導致這個值沒法改變

解決方案很多
1、
java風格就是,單個值用返回值。return i; 外面再i=foo();賦值;多個值用數(shù)組或?qū)ο蟆?BR>2、傳遞自己的封裝類。class MutableInteger{ int value;}
3、傳遞專用AtomicInteger原子整型對象

復制代碼 代碼如下:

    public static void main(String[] 參數(shù)) {     
  AtomicInteger i=new AtomicInteger(40);
  i.intValue();
  System.out.println(i);
 }
    public static void change(AtomicInteger i) {
     i.set(55);
}

也可以實現(xiàn)傳遞后改值 ,
推薦方案1,盡量避免

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐梓县| 太仓市| 虞城县| 定南县| 响水县| 杂多县| 永宁县| 桂阳县| 长春市| 六枝特区| 祁阳县| 新丰县| 黄石市| 通渭县| 宁南县| 万宁市| 孝昌县| 呼伦贝尔市| 磴口县| 华亭县| 林芝县| 当涂县| 辽源市| 乃东县| 高唐县| 镶黄旗| 商丘市| 垣曲县| 克什克腾旗| 咸丰县| 延边| 临江市| 淳安县| 荔浦县| 长宁区| 鹰潭市| 米林县| 营口市| 西林县| 株洲县| 六盘水市|