Java学习笔记_180702_基本类型和引用类型作为参数传递特性
Java中只有值传递,基本类作为参数传递并在方法中修改后不会对基本类型的变量造成影响,引用类传递的是句柄或者说对象的指针,在方法中进行操作会对引用类型产生影响。或者理解为,不可变类传递时传递的是变量指向的值,可变类传递时传递的是句柄、指针、地址。以String 和StringBuffer举例
String str = new String("Hello"); //或者String str = “Hello”; StringBuffer strb = new StringBuffer("Hello"); swap(str,strb); sysout(str); sysout(strb); public void swap(String str,StringBuffer strb){ str = "Hello World!" strb.append(" World!"); strb = new StringBuffer("New String!"); }
代码输出结果是
Hello Hello World
代码
strb = new StringBuffer("New String!");
只在swap()作用域中有效所以输出不为“New String!”