请问在执行String str1="aaa"+"bbb";这条语句时,jvm在内存中的操作是什么呢?产生了一些什么对象呢?

解决方案 »

  1.   

    aaa
    bbb
    aaa + bbbstring本身
      

  2.   

    我学Java到现在很少关心底层,不知道这样对不对
      

  3.   

    首先 String str1="aaa"+"bbb"; 编译器在编译的时候就优化成:
    String str1="aaabbb"; 了
      

  4.   

    String连接时先产生一个StringBuffer对象,将String对象的值赋给StringBuffer对象,再加上后面的新增内容,最后再将StringBuffer对象转为String类型。