java参数传递的问题实例。
package ex.cap4;
public class Param {
public static void main(String[] args) {
String a = “1″;
fun1(a);
System.out.println(“a==”+a);
String[] b = new String[20];
fun1(b);
System.out.println(“b===”+b[1]);
char[] c = new char[20];
fun1(c);
System.out.println(“c===”+c[0]);
String[] e = {“a”,”b”};
fun1(e);
System.out.println(“e==”+e[1]);
char[] d = {‘a’,'b’};
fun1(d);
System.out.println(“d===”+d[0]);
}
public static void fun1(String str){
str = “2″;
}
public static void fun1(String[] str){
str[1] = “aa”;
}
public static void fun1(char[] ch){
ch[0] = ‘g’;
}
}
输出结果:
a==1
b===aa
c===g
e==aa
d===g
要搞懂这个问题,先要把java内存原理搞懂。