国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 迭部县| 邵阳县| 丰原市| 陆河县| 崇义县| 阜新市| 汤原县| 九龙坡区| 双江| 靖州| 福州市| 涿州市| 三明市| 上思县| 郧西县| 洮南市| 娱乐| 镇远县| 高唐县| 库伦旗| 萨迦县| 杭州市| 康马县| 秀山| 南川市| 东乌| 南平市| 文山县| 长乐市| 桐城市| 钟祥市| 个旧市| 康定县| 苍溪县| 红原县| 蚌埠市| 保定市| 铜陵市| 双桥区| 海兴县| 建德市|