解决方案 »

  1.   

    手贱,点错了;
    http://blog.csdn.net/jiangnan2014/article/details/21742701
      

  2.   

    字符串连接的时候StringBuffer超级方便,尤其是代码中有数据库语句操作时,需要StringBuffer的append方法,比String类的连接字符串效率高
      

  3.   

    不同的类。
    不同的方法。
    其实主要是String中的:
    private final char value[];
    private final int count;
    private final int offset;
      

  4.   

    String是定长的(源码里定义了final),StringBuffer是可变长的,就这个主要区别。参考一下:
    http://hi.baidu.com/ishanlin/item/0f7314ec7458efc0baf37d11
      

  5.   

    1、String 和 stringbuffer 都是可以表示字符串
    2、String 你可以看它的api,定义为public final class String, 所以它是不可变的,我们通常会这么做,String a = "a"; String b = "b";      a = a + b;其实这样做JVM会开辟个新地址表示新的结果a,所以这样加大了JVM的开销。
    3、StringBuffer没有2中的问题,你直接StringBuffer sb = new  StringBuffer(); sb.append("ab");但是他是线程安全的,效率就不怎么高,所以Java API推荐使用StringBuilder,这个和StringBuffer一样,只是是非线程安全,效率也会高点。
      

  6.   

    简单来说就是
    stringbuffer的值可以变化
    一直都是同一个对象
    而string是不能变化的
    就是说如果对一个字符串有多次增加等操作的话
    用stringbuffer一直是一个对象
    而用string会生成很多个对象
    这样效率没有stringbuffer高