亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

問題解決分析:StringBuffer的小問題

2019-11-18 11:14:28
字體:
來源:轉載
供稿:網友

  在String對象中有個構造函數是直接接受StringBuffer的。程序如下:
  
  public String (StringBuffer buffer) {
  synchronized(buffer) {
  buffer.setShared();
  this.value = buffer.getValue();
  this.offset = 0;
  this.count = buffer.length();
  }
  }
  
  在StringBuffer中:
  
  final char[] getValue() { return value; }
  
  很明顯的,這個構造函數直接把StringBuffer的char[]數組返回給了String對象。也就是現在新生成的String和StringBuffer共用同一個char[]數組,但是下面的程序為什么會打印出以下結果呢:
  
  StringBuffer sb = new StringBuffer("abc");
  System.out.  String s = new String(sb);
  System.out.println("String: " + s);
  sb.append("123");
  System.out.println("StringBuffer: " + sb);
  System.out.println("String: " + s);
  /////////////////////////////////////////////////////////////////////
  StringBuffer: abc
  String: abc
  StringBuffer: abc123
  String: abc
  
  分析:這個問題的核心答案在 this.count = buffer.length() 這句話上。這句話的意思是String中的count的大小為這個char[]數組中實際含有的字符的個數,而不是這個數組的大小。所以在打印的時候對于上面的String對象,只會打印3個字符,而不是六個字符!!
  
  新的問題:假如我從StringBuffer中刪除了一個字符,那么String對象也應該受到影響了?但是為什么實際上這個String沒有發生變化呢?問題的答案在buffer.setShared()上,這句話的含義就是告訴這個StringBuffer,有其它的String對象與它共享它的char[]數組。這個時候,當它進行delete,insert等操作的時候,它會新生成一個char[]數組,然后再進行操作。所以這個時候String和StringBuffer就不共享同一個數組了,String自然也就不會受到影響了。
  
  為什么要用這么復雜的方法呢?答案是“節省內存資源”??梢韵胂耄覀冊诔绦蛑惺褂米铑l繁的對象都有哪些?答案肯定包含String。而我們知道,在拼裝一個String的時候,使用StringBuffer效率最高。所以我們會先用StringBuffer動態的拼裝好一個字符串,然后再把它轉化成String對象,這個時候就會突顯這種方式的經典之處了。下面是StringBuffer的toString()方法:
  
  public String toString() {
  return new String(this);
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
96pao国产成视频永久免费| 中文字幕欧美日韩| 中文字幕欧美精品日韩中文字幕| 亚洲91精品在线| 大桥未久av一区二区三区| 亚洲精品黄网在线观看| 中文日韩电影网站| 亚洲视频免费一区| 久久久91精品国产一区不卡| 精品人伦一区二区三区蜜桃网站| 日本高清久久天堂| 日韩毛片中文字幕| 亚洲第一黄色网| 亚洲欧美制服中文字幕| 欧美激情视频一区二区三区不卡| 欧美性xxxx极品hd欧美风情| 96sao精品视频在线观看| 亚洲精品中文字幕女同| 国产精品福利无圣光在线一区| 国产z一区二区三区| 久热精品视频在线免费观看| 国内精品免费午夜毛片| 久久久综合av| 在线观看日韩欧美| 国外成人在线播放| 亚洲偷欧美偷国内偷| 97avcom| 亚洲精品视频中文字幕| 亚洲国产成人精品久久| 欧美日韩国产成人高清视频| 欧美视频专区一二在线观看| 日韩欧美主播在线| 久久久之久亚州精品露出| 中文字幕在线看视频国产欧美在线看完整| 97精品一区二区三区| 欧美午夜精品久久久久久人妖| 国产精品免费视频xxxx| 成人妇女免费播放久久久| 中文字幕欧美视频在线| 国产成人福利视频| 91亚洲一区精品| 欧美制服第一页| 亚洲大胆人体视频| 欧美性生活大片免费观看网址| 97在线免费视频| 91精品在线看| 狠狠躁18三区二区一区| 欧美巨猛xxxx猛交黑人97人| 亚洲国产精品999| 日韩免费看的电影电视剧大全| 国产精品视频久久久久| 国产美女精品视频| 亚洲无线码在线一区观看| 久久国产精品久久久久久久久久| 91精品久久久久久久久久久久久久| 亚洲电影在线观看| 亚洲一区精品电影| 日韩视频在线观看免费| 亚洲精品一区二区三区不| 国产乱人伦真实精品视频| 国产一区二区三区在线看| 亚洲全黄一级网站| 亚洲综合小说区| 97**国产露脸精品国产| 日韩精品免费在线观看| 黑人与娇小精品av专区| 欧美日韩在线免费观看| 久久久极品av| 91精品国产91久久久久久最新| 亚洲春色另类小说| www.久久草.com| 2019中文在线观看| 欧美成人午夜剧场免费观看| 精品国产一区二区三区久久| 欧美一区二区视频97| 欧美亚洲一级片| 亚洲精品国产福利| 伊人久久大香线蕉av一区二区| 992tv在线成人免费观看| 国产91成人video| 久久中文久久字幕| 中文字幕欧美亚洲| 国产+成+人+亚洲欧洲| 欧美大片第1页| 国产一级揄自揄精品视频| 尤物99国产成人精品视频| 人人澡人人澡人人看欧美| 97在线精品视频| 久久好看免费视频| 国产精品人成电影| 欧美福利视频在线| 不用播放器成人网| 亚洲欧美激情在线视频| 日韩美女激情视频| 26uuu亚洲伊人春色| 韩国视频理论视频久久| 国产精品丝袜一区二区三区| 日本高清不卡在线| 欧美国产日韩视频| 中文字幕无线精品亚洲乱码一区| 精品一区二区三区四区在线| 国产精品女主播| 91精品视频在线播放| 国产有码在线一区二区视频| 97视频在线观看亚洲| 精品国产乱码久久久久酒店| 在线观看日韩欧美| 亚洲精品福利资源站| 国产亚洲美女精品久久久| 日韩美女在线播放| 国产精品色婷婷视频| 2019中文在线观看| 欧美激情videoshd| 欧美黑人极品猛少妇色xxxxx| 亚洲视频axxx| 亚洲精品久久7777777| 91免费看片在线| 日韩欧美中文第一页| 亚洲开心激情网| 欧美激情第6页| 亚洲国产精品久久精品怡红院| 国产日本欧美在线观看| 亚洲欧美激情精品一区二区| 91久久综合亚洲鲁鲁五月天| 亚洲天堂av电影| 麻豆成人在线看| 亚洲美腿欧美激情另类| 亚洲一区二区自拍| 亚洲精品视频免费| 国产精品日韩久久久久| 亚洲天堂av女优| 国产一区二区三区精品久久久| 成人97在线观看视频| 亚洲人成网7777777国产| 69**夜色精品国产69乱| 青青久久aⅴ北条麻妃| 欧美性20hd另类| 欧美日韩亚洲成人| 欧美电影在线播放| 欧美视频裸体精品| 亚洲欧美日韩精品久久| 欧美裸体男粗大视频在线观看| 精品国产电影一区| 亚洲激情视频在线观看| 久久久女女女女999久久| 亚洲999一在线观看www| 一区二区在线免费视频| 青青久久av北条麻妃海外网| 亚洲伊人一本大道中文字幕| 国产视频在线一区二区| 国产成人综合一区二区三区| 色婷婷综合成人av| 日韩美女免费线视频| 日韩高清电影好看的电视剧电影| 91av视频在线观看| 亚洲a一级视频| 色综合老司机第九色激情| 97在线视频一区| 欧美激情中文字幕在线| 国产精品一区二区三区久久久| 97国产精品视频| 91色中文字幕| 成人美女av在线直播| 国产精品久久久久久久久影视|