java的"值传递"和"引用传递"的问题

原创 2016年05月30日 15:55:19

很多初学者是问java里的对象传递是"值传递"还是"引用传递"的问题?其实代码写多了,一般不会纠结这个事情了。

直接写一个代码验证吧:




 @Test
    public void test(){

        Integer integer=new Integer(3);
        change(integer);
        if(integer==3){
            System.out.println("pass by value");
        }else if(integer==2){
            System.out.println("pass by reference");
        }
    }
    private void change(Integer integer){
        integer=new Integer(2);
    }

结果是"pass by value"。如果是引用传递,在调用change方法后,integer应该被改变成2,输出的结果应该是"pass by reference"才对。

相关文章推荐

Java传参的值传递和引用传递问题(转)

今天遇到了一个java程序,需要用参数来返回值(虽然最后用另一种方法实现了),在网上看到这样一篇文章,很受启发。 本文章来自于http://hi.baidu.com/xzhilie/blog/ite...
  • Hollboy
  • Hollboy
  • 2012年08月04日 17:51
  • 634

java中的值传递和引用传递问题

有这样一个问题,List list1=new ArrayList();List list2=new ArrayList(); list2=list1;其实是把list2的地址值指向list1,list...

Java值传递和引用传递的问题

Java值传递和引用传递的问题 java传参数的时候是值传递还是引用传递是个很有意思的问题, 一些有几年工作经验的人也会因此而困惑, 面试的时候更是经常有这样的问题, 今天我整理了一下自己对于这个问题...

Java中函数参数的值传递与引用传递问题

首先来看一段代码: import java.util.Scanner; public class Main{ public static void main(String[] args){ in...
  • liuxins
  • liuxins
  • 2015年11月10日 14:48
  • 298

Java传参的值传递和引用传递问题(转)

首先,推荐对Java有一定理解的同仁一本书《Practical Java》。在《Practical Java》中也有一个章节介绍Java中关于传值和传引用的问题,堪称经典。《Practical Jav...

【Stackoverflow好问题】Java是按值传递还是按引用传递

明确地说,java是按值传递的!java的世界里,都是按值传递。其实按值、按引用都只是个概念,关键是我们如何去理解java传参的本质。下面就结合一个例子来说 有些情况下,传递的值,其内容是个引用,这一...

Java当中的内存分配以及值传递问题内存解析

2011-05-12 10:24     一、Java当中所涉及到的内存分类 Java当中你知道这5种内存就够用了,下面对这5种内存里面所存放的数据做一解释。 ①...
  • gao8658
  • gao8658
  • 2012年04月01日 12:42
  • 635
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java的"值传递"和"引用传递"的问题
举报原因:
原因补充:

(最多只允许输入30个字)