String是final类String对象是不可以改变的!

解决方案 »

  1.   

    String类是不可变对象,一个String对象在创建时状态就固定下来,以后是无法改变的。而StringBuffer是可变对象,对象被创建后,可以通过append等方法加以改变。
    在java中可变对象、不可变对象是非常重要的概念。
      

  2.   

    你的Fcution没有定义A!
    ,这个程序好像不能运行吧!
      

  3.   

    To:lovelymaomao(小老鼠) 
        固然String是不可变的(immutable),但不能通过String类是final class来推导。To 楼主:
        因为String是不可变的(immutable),它的操作将产生一个新的对象,因此以上函数,得不到你预期的效果,可以改成以下代码
            strDst = strDst.concat("hello world");
            return strDst.length() / 2;
      

  4.   

    http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html
      

  5.   

    ant_bug():
    你的方法也不行啊,我大概懂了,谢谢大家!
      

  6.   

    诸位楼上说的都没错,补充一点。对于频繁做字符窜变更时,要尽量使用StringBuffer,如程序中拼SQL文,电文解码等。因为String 对象不可变,每次赋新值仍然是那个对象。
    String a = "1";a = "2"; a = "3"           -------对象不变
    若要生成新对象就必须new, a = new String("4");------新对象,原来的成了垃圾