浅析Java方法传值和传引用问题
程序员文章站
2024-02-18 12:39:40
某门户网站的一道笔试题复制代码 代码如下:public class test { public static void stringu...
某门户网站的一道笔试题
public class test {
public static void stringupd(string str) {
str = str.replace("j", "l");
system.out.println(str);
}
public static void stringbufferupd(stringbuffer bf) {
bf.append("c");
system.out.println(bf);
}
public static void main(string[] args) {
/**
* 對於基本類型和字符串(特殊)是傳值
*
* 輸出lava,java
*/
string s1 = new string("java");
stringupd(s1);
system.out.println(s1);
/**
* 對於對象而言,傳的是引用,而引用指向的是同一個對象
*
* 輸出javac,javac
*/
stringbuffer bb = new stringbuffer("java");
stringbufferupd(bb);
system.out.println(bb);
}
}
复制代码 代码如下:
public class test {
public static void stringupd(string str) {
str = str.replace("j", "l");
system.out.println(str);
}
public static void stringbufferupd(stringbuffer bf) {
bf.append("c");
system.out.println(bf);
}
public static void main(string[] args) {
/**
* 對於基本類型和字符串(特殊)是傳值
*
* 輸出lava,java
*/
string s1 = new string("java");
stringupd(s1);
system.out.println(s1);
/**
* 對於對象而言,傳的是引用,而引用指向的是同一個對象
*
* 輸出javac,javac
*/
stringbuffer bb = new stringbuffer("java");
stringbufferupd(bb);
system.out.println(bb);
}
}