Java-string字符串
String、StringBuffer、StringBuilder都是final修飾的,都不可以繼承
String、StringBuffer、StringBuilder底層都是數組實現的,只不過String中的數值用final修飾,所以String類對象的值不可改變
StringBuffer、StringBuilder都是可變數組,可以用append()方法在字符串尾部添加字符串
StringBuffer是線性安全的,StringBuilder是線性不安全的
String string = "string"; 創建1個對象,存放在字符串池中,如果字符串池中存在該字符串,就創建0個對象
String String = new String("string"); 創建了2個對象,1個存放在字符串池中,1個存在堆區中,如果字符串池中已經存在該字符串,就只創建1個對象
String類的intern()方法可以返回該字符串在常量池中的對象的引用
String類的toLowerCase()、toUpperCase()、replace()、trim()、subString()、concat()方法,都不會改變本身引用字符串的值,而是返回一個新的字符串
每當我們創建字符串常量時,JVM會首先檢查字符串常量池,如果該字符串已經存在常量池中,那么就直接返回常量池中的實例引用。如果字符串不存在常量池中,就會實例化該字符串并且將其放到常量池中。由于String字符串的不可變性我們可以十分肯定常量池中一定不存在兩個相同的字符串
總結
以上是生活随笔為你收集整理的Java-string字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 砥砺前行,不忘初心,我的运维学习之路.
- 下一篇: 使用 Xtrabackup 在线对MyS