zoukankan      html  css  js  c++  java
  • java只有值传递

    1.在方法中传递基本数据类型时,传入的值是原值的拷贝,所以在方法中改变此数据不会影响到原数据

    2.在方法中传递引用数据类型时,传入的是引用的拷贝

    列1:

    	public static void main(String[] args) {
    		List<String> list = new ArrayList<>();
    		list.add("b");
    		test(list);
    		System.out.println(list); // 打印b,a
    	}
    	
    	private static void test(List<String> list) {
    		//list = new ArrayList<>();
    		list.add("a"); // 不改变该引用时,该引用指向的是原集合
    		System.out.println(list);// 打印b,a
    	}
    
    

    改变原引用

    	public static void main(String[] args) {
    		List<String> list = new ArrayList<>();
    		list.add("b");
    		test(list);
    		System.out.println(list); // 打印b
    	}
    	
    	private static void test(List<String> list) {
    		list = new ArrayList<>();// 使这个copy的引用指向新的集合
    		list.add("a"); // 想新集合中添加元素
    		System.out.println(list);// 打印a
    	}
    
    

    列2:

    	public static void main(String[] args) {
    		StringBuilder A = new StringBuilder("a");
    		StringBuilder B = new StringBuilder("b");
    		test(A, B);
    		System.out.println(A);// 打印ab
    		System.out.println(B);// 打印b
    		
    	}
    	
    	public static void test(StringBuilder A, StringBuilder B) {
    		A.append(B);// 引用没有改变,会更新原有值,打印ab
    		B = A;// 复制的引用指向A,原有引用不改变
    	}
    
  • 相关阅读:
    Linux文件系统(三)虚拟文件系统
    Linux文件系统(二)磁盘文件系统
    requests模块
    jquery进阶(文档操作,事件委托等)
    JQuery基本使用
    js基础和js操作bom和dom对象
    js -- javascript
    CSS
    HTML
    python之pymysql模块
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10825290.html
Copyright © 2011-2022 走看看