zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jq使用手册
    MVC4 Forms 验证,部署到Hyper-v上.FormsAuthentication.SetAuthCookie无效的问题
    ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
    FireBird.conf 常用参数说明 (FrieBird3.0.4版)
    AnkhSVN2019
    控制台程序的RedirectStandardOutput
    代替webbrowser的插件:CefSharp
    mssql分区视图
    Firebird写存储过程
    .net项目多个目标架构
  • 原文地址:https://www.cnblogs.com/mr-wei977955490/p/15367606.html
Copyright © 2011-2022 走看看