關於問題:
- String 字符串相加 不等於 直接創建的字符串的問題
String a = "hello ";
String b = a + "world";
String c = "hello " + "world";
其中 b 不等於c, 因爲 常量區分爲運行時常量區 ,而運行時常量池是放在方法區中的,對於編譯能確定的直接放在運行時常量池中的,而運行時常量池是放在方法區中的,a 在編譯時不確定 所以是通過 StringBuilder的toString()的方法,來new 在堆中的 所以內存地址不一致。
當字符串確定時,在編譯時 就放在常量池中了。