關於String Stringbuffer StringBuilder

 相同點:都是用來存儲字符串的容器類

 不同點:

  String是定長的字符串,一旦實例化後大小就不能改變

 Stringbuffer是變長字符串,是線程安全的

 StringBuilder是變長的字符串,是線程不安全的

String不能對已有的字符串進行添加操作,普通的str+“sfsdf”等,雖然是將後邊的字符串拼接到了str 上,但是在內存上是將原先的str指向的內存空間捨棄了,又重新申請了一段空間,獲得了新的地址引用,而原先的變成了垃圾。StringBuilder和StringBuffer都提供了append()和insert()方法進行字符串的添加操作,是在原先的地址進行的添加操作

  String字符串中的==操作比較的是引用的地址是否相同例:

  String str1="asd";

 String str2="asd";

 顯然str1==str2是 false,不只是在String 中在引用類型的變量之間進行比較時,比較的是引用地址,只有在基本數據類型中比較的纔是數據本身

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章