02.14 String類能被繼承嗎,為什麼?為什麼要這麼設計?

String不可被繼承,因為String⽤了final關鍵字定義了類。String是不可變類。

① JVM在設計時設計了字符串常量池存儲及復⽤字符串,所以字符串需要定義為不可變的。

② 字符串可變會有安全問題,會被篡改。

③ String因為不可變,其HashCode⼀開始就完成了緩存,在Map中作為key可以提⾼性能,不需要實時計算。


String類能被繼承嗎,為什麼?為什麼要這麼設計?


分享到:


相關文章: