foo还是那个base6. foo.substring(0,3);  返回子串可没赋给foo
7. foo.concat(“ket”); 返回baseket也没赋给foo

解决方案 »

  1.   

    它问你进行了以下操作后:
    6. foo.substring(0,3);  
    7. foo.concat(“ket”)  foo的值是多少!String类型的变量赋值后就不能再更改,你对foo进行的substring(0,3)或concat(“ket”)操作只是产生了新的String类型的对象,而foo本身的值是不会改变的!!!   
      

  2.   

    String类型的变量赋值后不能更改?不会吧。
      

  3.   

    值不能改变就因为foo是String类型而不是StringBuffer类型,至于运行结果应该是小写的base啊,我用JC和JDK运行的结果都是小写的base啊
      

  4.   

    String substring(int beginIndex, int endIndex) 
              Returns a new string that is a substring of this string. 
     string foo2 = foo.substring(0,3);
      

  5.   

    >值不能改变就因为foo是String类型而不是StringBuffer类型如果阁下这样思考问题的话,有朝一日,会吃大亏的,比如,类似的题目5. StringBuffer buff = new StringBuffer("base");
    6. buff.substring(0, 1);
    7. buff.substring(1);
    8. 
    Type the value of foo at line 8.
    一楼二楼的理解方式才是正确的。