问题:1、为什么在method_1方法中s1 = s2;执行后在该方法中打印s1的结果和在main方法中打印s1的结果不一样?
2、为什么在method_2方法中s11.append(s22);执行后,在main方法中打印s11的结果变为javahello了而不是java?
class StringTest
{
public static void main(String[] args)
{
String s1 = "java";
String s2 = "hello";
method_1(s1,s2);
System.out.println(s1+"...."+s2); //java....hello
StringBuilder s11 = new StringBuilder("java");
StringBuilder s22 = new StringBuilder("hello");
method_2(s11,s22);
System.out.println(s11+"-----"+s22); //javahello-----hello
}
public static void method_1(String s1,String s2)
{
s1.replace('a','k');
s1 = s2;
System.out.println(s1); //hello
}
public static void method_2(StringBuilder s11,StringBuilder s22)
{
s11.append(s22);
s11 = s22;
System.out.println(s11); //hello
}
}
|
|