美文网首页
【Java】引用传递

【Java】引用传递

作者: 7ccc099f4608 | 来源:发表于2018-05-24 10:25 被阅读2次
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class tryRf{
    void hehda(int he, List<String> da, List<String> ha) {
        he = 5;
        da.add("heheda");
        ha = Arrays.asList("he", "he", "da");
    }

}

public class JavaReferencePass {

    public static void main(String[] args) {
        System.out.println("======== 引用传递 ==========");
        tryRf tf = new tryRf();
        int a = 3;
        List<String> al = new ArrayList<>();
        al.add("123");
        List<String> ak = new ArrayList<>();
        ak.add("135");
        tf.hehda(a, al, ak);
        System.out.println(a); // 3
        System.out.println(al);  // [123, heheda]
        System.out.println(ak);  // [135]

        tf.hehda(a, al, al);
        System.out.println(a); // 3
        System.out.println(al);  // [123, heheda, heheda]
        System.out.println(ak);  // [135]
    }
}

简而言之,基础类型不会被函数改变;ArrayList等 是传引用进函数,会发生变化(如al),但是函数体不会覆盖ArrayList(如ak).

相关文章

  • [译] Java 值传递 VS 引用传递

    Java是值传递还是引用传递一直都有争论,我们最终下个结论,Java是值传递而不是引用传递。如果Java是引用传递...

  • 自整理3 值传递和引用传递

    java的值传递和引用传递 首先,由于java没有指针机制,所有java归根究底只有值传递,没有引用传递。java...

  • Java的引用

    参考链接: Java到底是值传递还是引用传递 Java的四种引用方式 Java中的强引用、软引用、弱引用和虚引用 ...

  • 聊聊Java内部类

    一.磨叽磨叽Java值传递与引用传递 “在Java里面参数传递都是按值传递”即:按值传递是传递的值的拷贝,按引用传...

  • 【JAVA基础】函数知识

    1.函数参数传递方式 虽然java通过引用操作对象,所有的对象变量都是引用,然而,java不能通过引用传递方法参数...

  • Java面试题疑难点

    1. java值传递和引用传递 String为什么是值传递而不是引用传递 答:String是final的

  • Java Lambda表达式引用局部变量的原理

    规则1 Java中变量分为:基本类型变量和引用类型变量 规则2 Java方法传参只有值传递,没有引用传递,传递的值...

  • 快速区别值传递和引用传递

    复习Java知识的时候又看到值传递和引用传递的区别,然后就查询一下,结果都是Java到底是值传递还是引用传递之争,...

  • 【Java】引用传递

    简而言之,基础类型不会被函数改变;ArrayList等 是传引用进函数,会发生变化(如al),但是函数体不会覆盖A...

  • Java引用传递

    以一个问题开始:如果在函数的入参中传递一个对象,然后在函数内部将这个对象置空,请问原始的对象是否为空?下面我们来验...

网友评论

      本文标题:【Java】引用传递

      本文链接:https://www.haomeiwen.com/subject/mmvjjftx.html