重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
String、StringBuffer和StringBuilder有什么區別?可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、成都網站建設、南崗網絡推廣、微信小程序開發、南崗網絡營銷、南崗企業策劃、南崗品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯公司為所有大學生創業者提供南崗建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com
區別如下:
1) String類的內容一旦聲明后是不可改變的,改變的只是其內存的指向,而StringBuffer類的對象內容是可以改變的。
2) 對于StringBuffer,不能像String那樣直接通過賦值的方式完成對象實例化,必須通過構造方法的方式完成。
3) StringBuffer的在進行字符串處理時,不生成新的對象,在內存使用上要優于串類。所以在實際使用時,如果經常需要對一個字符串進行修改,例如插入,刪除等操作,使用StringBuffer要更加適合一些。
例: String對象不可修改指的是對象本身不可修改,而不是引用不可修改。
String a = “你好”;
這行代碼的意思是聲明一個String類型的引用變量叫做a,在內存中創建一個String對象(值為"你好"),然后把這個對象的引用賦值給變量a。
a = “hello”;
這行代碼執行的效果是在內存中另外創建了一個String對象(值為"hello"),然后把這個新對象的引用賦值給變量a,而不是把原來的內存中的那個“你好”的String對象值變為“hello”。
4) StringBuilder,StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。
5) StringBuilder 相較于 StringBuffer 有速度優勢,所以多數情況下建議使用 StringBuilder 類,然而在應用程序要求線程安全的情況下,則必須使用 StringBuffer 類。
關于String、StringBuffer和StringBuilder的區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。