因为String类是final的吗?

解决方案 »

  1.   

    是的,Java中的String是final的,String类型的值一旦定义是不能被修改的,否则会变成另外一个对象。所以在Java中,没有String变量的说法。只可以是字符串常量。但是在Java中有StringBuffer类型的值,它的值是允许你在一个StringBuffer对象后面添加的,因为StringBuffer对象有append()方法,而String对象是没有这个方法的。如:
    StringBuffer abc = new StringBuffer();
    abc.append("this");
    abc.append("is");
    System.out.println(abc.toString());//最后打印在控制台上的是this is
      

  2.   

    final只说明不能被继承,与常量变量没有必然联系.
      

  3.   


    不同意楼上的说法。对类来说,final是不允许被继承;对方法来说,final是不允许被重载;对字段来说,final表示该字段定义为常量,不允许重新赋值
      

  4.   

    这里说用的地方和你说的不是一回事,这里是用在field里边,而你说的是用在类和方法上边。
    string类要么用,要么抛弃。不可改变
      

  5.   

    呵呵,O_O...弱弱地问句:怎么在eclipse里看源码啊?
      

  6.   

    请先看清楚lz的提问.lz只是问String类.
      

  7.   

                    String str="ABC";
    str=str+"EFR";
    System.out.println(str);这样不和StringBuffer一样的作用吗??