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

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

問題解決分析:String Buffer的小問題

2019-11-18 11:59:35
字體:
來源:轉載
供稿:網友

  在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個字符,而不是六個字符?。?br />  
  新的問題:假如我從StringBuffer中刪除了一個字符,那么String對象也應該受到影響了?但是為什么實際上這個String沒有發生變化呢?問題的答案在buffer.setShared()上,這句話的含義就是告訴這個StringBuffer,有其它的String對象與它共享它的char[]數組。這個時候,當它進行delete,insert等操作的時候,它會新生成一個char[]數組,然后再進行操作。所以這個時候String和StringBuffer就不共享同一個數組了,String自然也就不會受到影響了。
  
  為什么要用這么復雜的方法呢?答案是“節省內存資源”??梢韵胂?,我們在程序中使用最頻繁的對象都有哪些?答案肯定包含String。而我們知道,在拼裝一個String的時候,使用StringBuffer效率最高。所以我們會先用StringBuffer動態的拼裝好一個字符串,然后再把它轉化成String對象,這個時候就會突顯這種方式的經典之處了。下面是StringBuffer的toString()方法:
  
  public String toString() {
  return new String(this);
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色狠狠久久aa北条麻妃| 日韩精品有码在线观看| 韩国精品久久久999| 91精品综合久久久久久五月天| 久久在线视频在线| 北条麻妃99精品青青久久| 国产精品毛片a∨一区二区三区|国| 国产成人综合av| 国产偷国产偷亚洲清高网站| 国产日韩换脸av一区在线观看| 亚洲天堂网在线观看| 91精品久久久久久久久久久久久| 97婷婷大伊香蕉精品视频| 国产日韩欧美另类| 97**国产露脸精品国产| 精品国产成人av| 不卡av在线播放| 成人精品网站在线观看| 最近2019中文字幕大全第二页| 久久好看免费视频| 久久久久久久久久国产精品| 91在线无精精品一区二区| 久久在线精品视频| 日韩免费看的电影电视剧大全| 国产精品入口夜色视频大尺度| 久久精品精品电影网| 亚洲国产欧美在线成人app| 亚洲japanese制服美女| 成人av在线亚洲| 久久人人爽人人爽人人片亚洲| 日韩电影中文字幕av| 亚洲欧美中文字幕在线一区| 日韩欧美中文在线| 成人欧美一区二区三区在线| 高清欧美一区二区三区| 欧美精品中文字幕一区| 懂色av中文一区二区三区天美| 黄色成人av网| 久久福利视频导航| 欧美精品日韩三级| 欧洲一区二区视频| 国产有码一区二区| 欧美精品电影免费在线观看| 亚洲成avwww人| 日韩av网址在线观看| 在线精品高清中文字幕| 国产精品高潮视频| 68精品国产免费久久久久久婷婷| 日韩一区视频在线| 国产精品情侣自拍| 蜜臀久久99精品久久久无需会员| 欧美高清第一页| 精品国产区一区二区三区在线观看| 精品国产91久久久| 国产日韩欧美在线看| 国产欧美日韩免费| 久久夜色精品国产欧美乱| 久久精品国产欧美激情| 久久久亚洲国产| 日韩一级黄色av| 6080yy精品一区二区三区| 久久久999精品| 68精品国产免费久久久久久婷婷| 久久成人这里只有精品| 97av在线视频| 色99之美女主播在线视频| 亚洲电影免费观看高清完整版在线| 亚洲qvod图片区电影| 国产91色在线|免| 国产成人精品在线| 不卡在线观看电视剧完整版| 欧美高清激情视频| 欧美在线观看视频| 成人精品久久一区二区三区| 国产日韩在线精品av| 国产精品久久久久影院日本| 亚洲美女av在线| 国产精品久久久av久久久| 欧美一区亚洲一区| 久久成人一区二区| 久久久精品视频在线观看| 91精品国产自产在线老师啪| 久久国产视频网站| 青青久久av北条麻妃黑人| 欧美一区二三区| 久久成人免费视频| 日韩电影中文 亚洲精品乱码| 国产中文字幕日韩| 欧美黑人视频一区| 中文在线资源观看视频网站免费不卡| 伦理中文字幕亚洲| 91高清免费视频| 国产91精品黑色丝袜高跟鞋| 久久精品亚洲一区| 韩国国内大量揄拍精品视频| 国产精品自产拍在线观看中文| 中文字幕欧美国内| 一本大道香蕉久在线播放29| 久久91精品国产91久久跳| 精品久久久久久久久久久久久久| 亚洲国产精品久久久| 性视频1819p久久| 尤物九九久久国产精品的特点| 欧美另类第一页| 97视频在线观看免费高清完整版在线观看| 国产欧美亚洲视频| 精品久久香蕉国产线看观看gif| 97精品国产91久久久久久| 亚洲石原莉奈一区二区在线观看| 欧美精品久久久久久久| 精品夜色国产国偷在线| 69国产精品成人在线播放| 精品国偷自产在线| 日韩精品免费观看| 欧美性极品xxxx做受| 久久97精品久久久久久久不卡| 亚洲欧美精品一区二区| 69影院欧美专区视频| 在线视频中文亚洲| 亚洲欧美一区二区三区久久| 久久亚洲综合国产精品99麻豆精品福利| 亚洲欧美日韩中文视频| 久久人人97超碰精品888| 国产精品中文字幕在线观看| 欧美一区二区三区艳史| 国产日韩欧美在线观看| 欧美精品国产精品日韩精品| 国产精品福利小视频| 日韩精品在线影院| 成人精品视频99在线观看免费| 成人国产精品久久久久久亚洲| 欧美综合国产精品久久丁香| 最新的欧美黄色| 欧美在线xxx| 国产最新精品视频| 原创国产精品91| 欧美麻豆久久久久久中文| 91热福利电影| 欧洲日本亚洲国产区| 一道本无吗dⅴd在线播放一区| 91福利视频在线观看| 成人在线中文字幕| 综合国产在线视频| 欧美激情亚洲激情| 亚洲色在线视频| 欧美大片免费观看在线观看网站推荐| 一区二区三区美女xx视频| 日本欧美一二三区| 色无极影院亚洲| 国产欧美精品xxxx另类| 国产精品久久久久久影视| 欧美刺激性大交免费视频| 国产福利成人在线| 丝袜亚洲欧美日韩综合| 亚洲男人天堂2019| 亚洲xxxx做受欧美| 国产精品扒开腿做爽爽爽男男| 久久免费成人精品视频| 丝袜亚洲欧美日韩综合| 亚洲欧美国产精品va在线观看| 亚洲人成欧美中文字幕| 欧美成人剧情片在线观看| 在线精品视频视频中文字幕| 欧美成人精品激情在线观看|