一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递;
但是:String、包装类、枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递!
首先,对象肯定是引用传递,为何这三类没有达到引用传递的效果呢?
以包装类Boolean为例:
会发现:
1、Boolean的值都是static、final的,说白了就是不能修改的
2、没有修改值得setter方法
因此,从表象看:枚举值都是值传递(传递副本),根本原因是被限制修改....
一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递;
但是:String、包装类、枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递!
首先,对象肯定是引用传递,为何这三类没有达到引用传递的效果呢?
以包装类Boolean为例:
会发现:
1、Boolean的值都是static、final的,说白了就是不能修改的
2、没有修改值得setter方法
因此,从表象看:枚举值都是值传递(传递副本),根本原因是被限制修改....