Java本身都是值傳遞式的調(diào)用,對于對象傳遞的是地址值。給地址值重新賦值等于重新指向,不會(huì)影響外層。
而且這里Integer對象也有特殊性。其實(shí)現(xiàn)上可能類似
解決方案很多
1、java風(fēng)格就是,單個(gè)值用返回值。return i; 外面再i=foo();賦值;多個(gè)值用數(shù)組或?qū)ο蟆?BR>2、傳遞自己的封裝類。class MutableInteger{ int value;}
3、傳遞專用AtomicInteger原子整型對象
|
新聞熱點(diǎn)
疑難解答
圖片精選