面试-值传递测试

148 阅读1分钟

值传递测试

package com.ces;

import java.util.Arrays;

/**
 * Copyright (C), 2015-2035, CES Co., Ltd.
 *
 * @description:
 * @author:李俊贤
 * @date: 2020年01月16日
 */
public class ValuePassTest {
    public static void main(String[] args) {
        //基本类型:不更改
        int aa=5;
        changeInt(aa);
        System.out.println("aa-"+aa);

        //字符串:更改
        String bb="BEA";
        changeStr(bb);
        System.out.println("bb-"+bb);

        //对象属性:更改
        MyCC  myCC=new MyCC("cc");
        changeCC(myCC);
        System.out.println("cc-"+myCC.getName());

        //数组:更改
        int[] dd={1,2,3};
        changeDD(dd);
        System.out.println("dd-"+ Arrays.toString(dd));

    }

    private static void changeDD(int[] dd) {
        dd[0]=10;
        System.out.println("dd-"+ Arrays.toString(dd));
    }

    private static void changeCC(MyCC myCC) {
        myCC.setName("c2");
        System.out.println("cc-"+myCC.getName());
    }

    private static void changeStr(String bb) {
        //bb="bea";
        bb.replace("B","b");
        System.out.println("bb-"+bb);
    }

    private static void changeInt(int aa) {
        aa=10;
        System.out.println("aa-"+aa);
    }


}

class MyCC{
    public MyCC(){

    }
    public MyCC(String name) {
        this.name = name;
    }

    String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}