== equals()問題

解釋:優化 s1和s2都不是經過new關鍵字建立的字符串,因此這兩個引用指向的字符串都不是堆中的,而是在常量池中的「aaa」,編譯器優化後,它們是指向同一個在常量池中的「aaa」. s3是經過控制檯讀取的輸入,next()方法返回一個String,這個String應該是在堆中根據輸入的字符串建立的。所以s1和s2的引用是相同的,s3的引用指向的是堆根據輸入新建立的字符串,和s1,s2指向的常量池中
相關文章
相關標籤/搜索