zoukankan      html  css  js  c++  java
  • java 值传递和引用传递。

    java中 基本类型的参数传递是值传递,即前后两个方法的变量不相干,被调方法参数值改变不影响调用方法的传参数值。

     引用数据类型的参数传递是 传递的是参数的地址。即被调方法修改参数值会,调用方法里会跟着改变。如下:

     public static void main(String[] args) {

            List<String> list = new ArrayList<String>();
            list.add("zhangsan");
            for(String l :list){
                System.out.println(l);
            }
            String s = "old";
            System.out.println(s+"--------------------");
            
            processList(list,s);
            for(String l :list){
                System.out.println(l);
            }
            System.out.println(s+"--------------------");
        }
        
        static void processList(List<String> list,String str) {
            list.add("li si");
            str+="new";
        }

          如果想按照引用传递的值,相互不影响呢?方法是在new一个实例就可以了。

     public class TempTest {  

     private void test1(A a){  
     a = new A();//新加的一行  
     a.age = 20;  
     System.out.println("test1方法中的age="+a.age);  
     }  
     public static void main(String[] args) {  
     TempTest t = new TempTest();  
     A a = new A();  
     a.age = 10;  
     t.test1(a);  
     System.out.println(”main方法中的age=”+a.age);  
     }  
    }  
    class A{  
     public int age = 0;  

    }   详细可以参考:http://blog.csdn.net/zzp_403184692/article/details/8184751 介绍的有内存的变化。

  • 相关阅读:
    ios 关闭自动修正输入内容
    Tarjan+缩点【强连通分量】【模板】
    初识Tarjan算法
    【尺取法】【转】
    【先加后减拼凑思想】【合成数问题】
    强连通分量【k 算法、t 算法】
    大数【加减乘除】
    洛谷博客地址【置顶!】
    差分约束+spfa【模板】
    【poj3169】【差分约束+spfa】
  • 原文地址:https://www.cnblogs.com/brucetie/p/4138120.html
Copyright © 2011-2022 走看看