zoukankan      html  css  js  c++  java
  • 20200927 Java 方法参数传值问题

    Java 中类型分为基础类型和引用类型。之前一直认为,方法传参时,如果传的入参是基础类型,方法内改变无效;如果传的是引用类型,方法内改变有效;

    但是,如果改变的是引用类型的值,改变无效,参考 test1 方法。

    所以,更准确地说法应该是,如果改变的是引用类型指向对象的值,改变有效。

    public class TestAAA {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("main");
            System.out.println(list);
    
            test1(list);
            System.out.println(list);
    
            test2(list);
            System.out.println(list);
        }
    
        /**
         * 传的是引用的值,类似于基础类型
         * 引用的值在方法内改变无效
         *
         * @param list
         */
        private static void test1(List<String> list) {
            list = null;
        }
    
        /**
         * 改变的是引用指向的 List 对象,改变有效
         * 引用没有改变
         *
         * @param list
         */
        private static void test2(List<String> list) {
            list.add("test2");
        }
    }
    
  • 相关阅读:
    JAVA中的类和对象
    JAVA方法
    JAVA数组
    JAVA流程控制语句
    JAVA常用的运算符
    JAVA中的变量和常量
    JAVA安装及环境变量配置
    linux环境下配置jmeter环境变量
    linux环境下解压文件
    安装程序遇到错误0x80240037
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/13740469.html
Copyright © 2011-2022 走看看