国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

String和StringBuffer的區別?

2019-11-15 00:59:40
字體:
來源:轉載
供稿:網友
String和StringBuffer的區別?

  這個我經常用的是String,說真的,用StringBuffer的次數還真是少,唯一讓我覺得特別的方法就是appand這個方法是StringBuffer獨有的,那么他們到底有什么區別呢,我們知道String是字符串,而字符串是對象,對象里有一個概念叫做可變對象和非可變對象,String屬于非可變對象,StringBuffer屬于可變對象,可能有人會問String str=“aa”;str="bb";這句話也能通過編譯啊,沒有任何錯誤啊,是的,這句話的確沒有一丁點的錯誤,不過你忽略了一點,就是“aa”和“bb”是字符串吧,字符串是對象吧,他們壓根就不是一個對象,說String是不可變對象,其實在String str="aa"這句話其實是一個引用的使用,他引用到了一個對象,str在等于“aa”之前他所指向的地址和后來并不是一樣的,就是說他并不是把值給了str,而是把對象的引用給了他,換句話說就是把對象的地址給了他,然而你想改變“aa”這個對象地址的數據通過String是不可能實現的,就像這個程序:

這個程序返回值和輸入的不會有變化。

  下面說說StringBuffer,這個類型可以進行修改的,就是說他是在原來地址上進行修改,差別就在于此。

  因此得到的結論是:如果你對字符串中的內容經常進行操作,特別是內容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法好了!

  也許這就是你的程序的性能瓶頸!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 非可變對象一旦創建之后就不能再被改變,可變對象則可以在創建之后被改變。
  • String對象是非可變對象,StringBuffer對象則是可變對象。
  • 為獲得更佳的性能你需要根據實際情況小心謹慎地選擇到底使用這兩者中的某一個。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 社会| 保德县| 措勤县| 晋中市| 木里| 龙游县| 徐水县| 建昌县| 青铜峡市| 新田县| 织金县| 荔浦县| 章丘市| 邵武市| 乌兰浩特市| 宜丰县| 东城区| 鄢陵县| 贵定县| 密山市| 雷山县| 道真| 佛学| 崇文区| 连南| 黔西| 阳泉市| 房山区| 荃湾区| 宣化县| 蒙自县| 平江县| 昌乐县| 赣榆县| 丹凤县| 玉环县| 化隆| 来凤县| 湖州市| 道孚县| 孟村|