黑马程序员技术交流社区
标题:
关于String与StringBuffer的区别
[打印本页]
作者:
jbl3344
时间:
2015-8-26 22:43
标题:
关于String与StringBuffer的区别
如题,String类定义一个对象之后,这个对象的值是不可以改变的,而Stringbuffer类定义一个对象之后,这个对象的值是可以改变的。这个要怎么理解。下面是我写的一段代码
public class StringDemo {
// public static void main(String[] args) {
// String s1="fiusiua";
// String s2="iurguer";
// s1=s1+s2;
// s2=s1+s2;
// System.out.println(s1);
// System.out.println(s2);
// }//String 在同一方法中定义String对象的值是可变的,但是如果调用下一个方法后
//在下一方法中改变String对象的值,在这个方法中String对象的值是无法改变的。
public static void main(String[] args){
String s1 = "abc";
String s2 = "xyz";
show(s1,s2);
System.out.println(s1+"---------"+s2);
}
static void show(String s1,String s2){
s1 = s2+s1+"Q";
s2 = "W"+s1;
System.out.println(s1);
System.out.println(s2);
复制代码
代码中我在show方法中打印了s1和s2,发现这里的s1和s2的值是改变了。这又该怎么解释。
作者:
没有如果
时间:
2015-8-26 22:49
一直没怎么弄懂
作者:
jbl3344
时间:
2015-8-26 23:26
String对象什么都打印不出来。
String s=new String();
System.out.println(s);
作者:
寰宇天侠
时间:
2015-8-26 23:42
函数括号里面的是形参啊,相当于这样
public static void main(String[] args){
String s1 = "abc";
String s2 = "xyz";
s1=show(s1,s2);
System.out.println(s1+"---------"+s2);
}
static String show(String s3,String s4){
s3 = s4+s3+"Q";
s4 = "W"+s3;
System.out.println(s3);
System.out.println(s4);
return s3;
}
作者:
aguang
时间:
2015-8-27 09:40
一直没怎么弄懂
作者:
哈皮哈皮doge
时间:
2015-8-27 10:23
1.java中参数传递形式是值传递
2.局部变量在函数结束时会被清除
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2