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

很多初学者是问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 基础
上一篇mybatis的update、insert操作,返回影响结果的问题
下一篇idea console 中文乱码
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭