java基本與對象類型數據類型傳入方法修改後是否影響方法外值的實例與淺析

java夜貓子程序員交流羣:927113708, 公衆號(愛碼一輩子): aandb7, 本文筆者總結, 轉載請附註明做者和連接.html

 http://www.javashuo.com/article/p-mvgiqnlt-gk.htmljava

先上個代碼實例, 你們能夠猜下輸出結果:git

 

 

 1 package com.github.mayangbo666.test;
 2 
 3 public class IntegerPp2 {
 4     public static void main(String[] args) {
 5         for (Integer i = 0; i < 1; iPlusPlus(i)) {
 6             System.out.println("t1");
 7         }
 8     }
 9 
10     public static Integer iPlusPlus(Integer i) {
11         System.out.println("t2");
12         System.out.println(((Object) i).toString());
13         return ++i;
14     }
15 }

這個意外的輸出:t1 \n t2 \n t1..的無限死循環;程序員

其實這裏java基本與對象類型數據類型傳入方法修改後是否影響方法外值的結果是不一樣的,github

對象類型固然是影響了,性能

在這裏我想起了在<碼出高效>裏看到說方法內推薦優先使用基本類型提升性能,
方法間傳參優先考慮對象類型,spa

這裏筆者本身找了一篇能夠解釋這個的博客附上:.net

http://www.javashuo.com/article/p-qhbzlcui-me.htmlcode

另外這個題是wistbean分享的.htm

相關文章
相關標籤/搜索