• Java方法调用数组,是否改变原数组元素的总结


    Java方法调用数组,是否改变原数组元素的总结

    //个人理解, 欢迎吐槽

    注意String是引用型变量, 我的理解也就是指向型, 指向一个数据或变量, 画图理解最容易, string 指向的 数据的值是不可改变的, string类型变量改变时,只是改变指向

    例1:

    public class test {
    
        public static void main(String[] args){
    
            char[] list={'a','b','c','d','e'};
    
            reverse(list);
    
            for(int i=0;i<list.length;i++)
    
                System.out.print(list[i]+" ");
    
        }
    
        public static void reverse(char[] list){
    
            char[] newList=new char[list.length];
    
            for (int i=0;i<list.length;i++)
    
                newList[i]=list[list.length-1-i];
    
            list = newList;
    
        }
    
    }

      这个例子的答案是主方法的 list 数组没有受影响,下面我将 reverse 方法中 list 称为 reverse.list , 主方法的list 为 main.list 加以区分

      调用 reverse 方法时,reverse.list 指向 main.list, 然后 reverse方法中,有一条 list = newList, 则将reverse.list 指向 reverse.newList, 所以该方法不会改变 main.list 的值

    例2:

    package Java_test;
    
    public class Class432 {
        String m_kobe = "1";
        String [] m_king = {"2"};
        public static void main(String[] args) {
            Class432 app = new Class432();
            app.mb_operate(app.m_kobe, app.m_king);
            System.out.println(app.m_kobe + app.m_king[0]);
        }
        static void mb_operate(String kobe, String [] king) {
            kobe = new String("3");
            king[0] = new String("4");
        }
    }

    此例输出为:14

  • 相关阅读:
    求最大子数组和
    第四周学习进度
    四则运算3
    实用工具箱app开发日记5
    实用工具箱app开发日记4
    实用工具箱app开发日记3
    实用工具箱app开发日记2
    实用工具箱app开发日记1
    《软件需求与分析》阅读笔记
    软件需求分析--阅读笔记3
  • 原文地址:https://www.cnblogs.com/mr-wei977955490/p/15367606.html
Copyright © 2020-2023  润新知