这个过程是创建了5个字符串对象,首先字符串是在方法区中的常量池中的,在常量池中的字符串对象时唯一的,不会重复创建,假如有“hello”这个字符串了,后面再有语句要创建字符串“hello”的,就不会在常量池中在创建新的字符串对象“hello”,而是把已有的“hello”赋给新的对象引用,假如常量池中没有这个字符串,会自动创建一个该字符串对象,string a = “hello”+“java” + “我爱你”;这句话中,先创建3个字符串“hello”,“java”,“我爱你”,然后他们组合成“hellojava”,然后再组合成“hellojava我爱你”这个字符串对象,他们进行地址上的连接,但是原来的字符串对象还是存在的,假如你想再创建一个字符串对象,“hello”同样是用常量池中已有的字符串“hello”。 |