写出以下代码执行结果,分析为什么?(没有分析结果不得分)

时间:2021-08-19 16:11:52

/*    public class Test {

               public static void main(String[] args) {

                       String s = "abc";

                       s.substring(1);

                       s.replace("bc","xyz");

                      System.out.println(s); 

                      String value = new String("abc");

                      System.out.println(s == value);

               }

       }

*/


结果为:

abc     //结果为:abc 因为sString类对象,String类代表字符串,字符串是常量;它们的值在创建之后不能更改。

false   //结果为:false由于svalue不是指向同一个对象,即使内容相同,也返回false。所以建议使用equals(),因为equals比较的才是真正的内容

 

 

若加入

              System.out.println(s.equals(value));//结果为:true

               Stringstr=s.replace("bc", "xyz");

               System.out.println(str);    //结果为:   axyz

  

   */