public staticvoid main(){ String s1 = "abc"; StringBuffer sb = new StringBuffer(); sb.append("hello"); test(s1); System.out.println(s1);//这里输出的还是abc,因为传入的参数s1和方法里面的是2个不同的对象. test(sb); System.out.println(sb);//这里输出的还是abcdef,因为传入的参数sb方法里…
今天闲来无事,整理了下平时记录在印象笔记里的java开发知识点,整理到String,StringBuffer以及StringBuilder的区别时突然又产生了新的疑惑,这些区别是怎么产生的?温故为何能知新,越是懂得多,越是能发现问题. [场景1] String对象的创建 String类对象有两种创建方式: 1. String s1=new String("Hello world"); new 是java类实例化对象的通用方法,这不足为奇,但是它使用了"Hello world&…
之前在交流群里和猿友们讨论string+和stringbuffer哪个速度快以及Java的方法参数传递的问题,引起了群里猿友的小讨论.最终LZ得出的结果是string+没有stringbuffer快,不过要看情况.而对于Java的方法参数传递问题,则是百年不变的答案,Java只有值传递. 有一位偏爱技术的猿友,问了LZ好几次这个问题,让LZ再解答一次.由于时间老是对不上,因此都没回复.这里LZ专门写篇博文来解释这个问题,到时候小黎同学来看一下吧. string+和stringbuffer的速度比…
[重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a String a = new String("Hello");…
public class Test1 { public static void stringReplace (String text) { text = text.replace('j','i') ; System.out.println(text) ; } public static void stringBufferReplace(StringBuffer text) { text = text.append("c") ; System.out.println(text) ; }…
String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.既然可变和不可变都有了,为何还有一个StringBuilder呢?相信初期的你,在进行append时,一般都会选择StringBuffer吧! 先说一下集合的故事,H…
public class Main{ public static void main(String[] args){ /* 1 */ String string = "a" + "b" + "c"; /* 2 */ StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("a"); stringBuffer.append("b"…
1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String 2.String <(StringBuffer,StringBuilder)的原因 String:字符串常量 StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象.对于这句话的理解你可能会产生这样一个疑问  ,比如这段代码: 1 String s = "abcd"…
转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了.嘿嘿.... 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却不是普通的类哦!!! [镜头1] String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,…
无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下. String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.既然可变和不可变都…