java中String类型参数传递问题
2017-04-02 11:54
656 查看
先看代码:
代码运行结果:
string类型传递:
stringbuffer传递:stringbuffer
String 和StringBuffer传递的都是引用性变量,不同的是String类是final不可变类,当str变量(即string对象的存储地址)的副本传递到chang方法时,按道理来说,修改此副本中的对象内容即会修改原str变量中对应的内容,但是因为string类的不可变性,当修改副本中的内容时,jvm会新一块内存区域,并且内存中的内容为“str”,原str变量对应的内存块内容没有发生变化。
public class Test1 { public static void main(String[] args) { String str = new String("string类型传递:"); StringBuffer sb = new StringBuffer("stringbuffer传递:"); change(str, sb); System.out.println(str); System.out.println(sb); } static void change(String str,StringBuffer sb) { str = "str"; sb.append("stringbuffer"); } }
代码运行结果:
string类型传递:
stringbuffer传递:stringbuffer
String 和StringBuffer传递的都是引用性变量,不同的是String类是final不可变类,当str变量(即string对象的存储地址)的副本传递到chang方法时,按道理来说,修改此副本中的对象内容即会修改原str变量中对应的内容,但是因为string类的不可变性,当修改副本中的内容时,jvm会新一块内存区域,并且内存中的内容为“str”,原str变量对应的内存块内容没有发生变化。
相关文章推荐
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java中String类型的参数传递问题的解析
- Java中String类型的参数传递问题的解析
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java中String类型的参数传递问题的解析
- Java-String类型的参数传递问题
- 关于Java中String类型的参数传递问题
- Java中String类型的参数传递问题的解析
- 解决java传递参数是String类型,pgsql的numeric字段接收报错问题
- [Java]String类型的参数传递问题
- Java中String类型的参数传递问题的解析收藏--转载
- Java中String类型的参数传递问题的解析
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题
- Java-String类型的参数传递问题 推荐
- Java-String类型的参数传递问题
- Java值传递和地址传递:关于String类型和集合类型作为函数参数时传值问题的测试