java傳值和傳引用區別


1. 在java中所有的參數都是傳值的,引用符號&的傳遞是C++中才有的;
2. 在java傳參中,基本類型(byte--short--int--long--float--double--boolean--char)的變量總是按值傳遞;
3. 對於對象來說,不是將對象本身傳遞給方法,而是將對象的的引用或者說對象的首地址傳遞給方法,引用本身是按值傳遞的;
4. 對於String、Integer、Long,數組等,這些都相當於對象,因此傳參時相當於是傳引用;
5. 從下面代碼例子中可以看出來

   public static void main(String[] args) {
        int k = 10;
        int[] nums = {1,4,32,89,6,21,56,74,41,57,85,36,20};
        System.out.println("test1= " + nums[0]);
        quickSort(nums,10,20);
        System.out.println("test3= " + nums[0]);
    }

    private static void quickSort(int[] sortNum, int startIndex, int endIndex)
    {
        int temp = 1;
        int[] test2 = {40,50,60};
        sortNum = test2;
        System.out.println("test2= " + sortNum[0]);
    }

輸出結果如下
test1= 1
test2= 40
test3= 1

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM