标签:
int num = 10; String str = "hello";
num = 20;
str = "java";
//第一个例子:基本类型 void foo(int value) { value = 100; } foo(num); // num 没有被改变 //第二个例子:没有提供改变自身方法的引用类型 void foo(String text) { text = "windows"; } foo(str); // str 也没有被改变 //第三个例子:提供了改变自身方法的引用类型 StringBuilder sb = new StringBuilder("iphone"); void foo(StringBuilder builder) { builder.append("4"); } foo(sb); // sb 被改变了,变成了"iphone4"。 //第四个例子:提供了改变自身方法的引用类型,但是不使用,而是使用赋值运算符。 StringBuilder sb = new StringBuilder("iphone"); void foo(StringBuilder builder) { builder = new StringBuilder("ipad"); } foo(sb); // sb 没有被改变,还是 "iphone"。
标签:
原文地址:http://www.cnblogs.com/ahang/p/5812751.html