String不可被繼承,因為String⽤了final關鍵字定義了類。String是不可變類。
① JVM在設計時設計了字符串常量池存儲及復⽤字符串,所以字符串需要定義為不可變的。
② 字符串可變會有安全問題,會被篡改。
③ String因為不可變,其HashCode⼀開始就完成了緩存,在Map中作為key可以提⾼性能,不需要實時計算。
閱讀更多 wendellFang 的文章
2020-02-14 22:28:37 wendellFang
String不可被繼承,因為String⽤了final關鍵字定義了類。String是不可變類。
① JVM在設計時設計了字符串常量池存儲及復⽤字符串,所以字符串需要定義為不可變的。
② 字符串可變會有安全問題,會被篡改。
③ String因為不可變,其HashCode⼀開始就完成了緩存,在Map中作為key可以提⾼性能,不需要實時計算。
閱讀更多 wendellFang 的文章