日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實用工具之StringJoiner詳解

瀏覽:21日期:2022-08-12 18:29:39
背景

在平時的業務開發中,我們可能會遇到字符串列表根據分隔符進行拼接的需求。比如:

輸入:

數組:[“a”,“b”,“c”]分隔符:','

輸出:

“a,b,c” 處理

通常我們可以使用StringBuilder根據下標位置決定是否需要添加分隔符以達到目的,比如:

public static void main(String[] args) {StringBuilder sb = new StringBuilder();String[] strings = new String[]{'a', 'b', 'c'};String delimiter = ',';for (int i = 0; i < strings.length; i++) { if (i != 0) {sb.append(delimiter); } sb.append(strings[i]);}System.out.println(sb.toString()); }

或者:

public static void main(String[] args) {StringBuilder sb = new StringBuilder();String[] strings = new String[]{'a', 'b', 'c'};String delimiter = ',';int tmp = strings.length - 1;for (int i = 0; i < strings.length; i++) { sb.append(strings[i]); if (i != tmp) {sb.append(delimiter); }}System.out.println(sb.toString()); }

但是每次遇到這種情況都去這樣拼接很麻煩,而且如果使用迭代器,沒有下標就不能使用這種方法。那么就每次append分隔符,最后再截斷:

public static void main(String[] args) {StringBuilder sb = new StringBuilder();String[] strings = new String[]{'a', 'b', 'c'};String delimiter = ',';for (String str:strings) { sb.append(str).append(delimiter);}System.out.println(sb.substring(0,sb.length()-1)); }

所以通常情況下,我們都會去擴展一個StringBuilder以提供分隔符組裝的功能,博主平時是這樣弄的:

public class MyStringBuilder { private StringBuilder stringBuilder; private String delimiter; public MyStringBuilder(String delimiter) {this.delimiter = delimiter; } public MyStringBuilder append(String item) {getStringBuilder().append(item);return this; } /** * 模擬的就是這個邏輯: * if(index != 0){ * append(delimiter); * } * append(str); * * @return */ private StringBuilder getStringBuilder() {if (stringBuilder == null) { //相當于index==0, stringBuilder = new StringBuilder();} else { stringBuilder.append(delimiter);}return stringBuilder; } @Override public String toString() {return stringBuilder == null ? '' : stringBuilder.toString(); }}

在初始化的時候指定分隔符,然后每次直接append就行了,由內部決定在何時添加分隔符。在JDK1.8之后,提供了一個StringJoiner類,提供了類似的功能,可以在初始化的時候指定分隔符和前綴后綴:

StringJoiner sj = new StringJoiner(',','(',')');sj.add('a').add('b').add('c');System.out.println(sj.toString());//輸出:(a,b,c)

博主大致看了一下StringJoiner的實現邏輯,很簡單,和咱們擴展StringBuilder基本是一樣的邏輯,另外加入了前綴后綴,然后多了一個merge的功能:

public StringJoiner merge(StringJoiner other) {Objects.requireNonNull(other);if (other.value != null) { final int length = other.value.length(); // lock the length so that we can seize the data to be appended // before initiate copying to avoid interference, especially when // merge ’this’ StringBuilder builder = prepareBuilder(); builder.append(other.value, other.prefix.length(), length);}return this; }

到此這篇關于Java實用工具之StringJoiner詳解的文章就介紹到這了,更多相關Java StringJoiner內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产色噜噜噜91在线精品| 精品中文字幕一区二区三区av| 欧美精品自拍| 9久re热视频在线精品| 久久亚洲图片| 日韩高清不卡一区| 国产午夜久久av| 久久精品一本| 久久久久国产精品一区二区| 久久精品国产久精国产| 久久电影tv| 午夜欧美精品久久久久久久| 亚洲欧美日韩专区| 日韩va欧美va亚洲va久久| 国产精品白丝久久av网站| 色黄视频在线观看| 男女男精品视频网| 免费一级欧美在线观看视频| 日韩欧美一区二区三区在线观看 | 免费在线看一区| 国产麻豆精品| 91精品国产调教在线观看| 免费成人在线视频观看| 午夜久久av| 日本一区二区高清不卡| 午夜国产一区二区| 7777精品| 日韩国产一区二区| 亚洲18在线| 日韩在线二区| 五月激激激综合网色播| 91欧美日韩| 亚洲一区二区三区久久久| 捆绑调教美女网站视频一区| 婷婷综合社区| 欧美视频一区| 91精品1区| 麻豆视频观看网址久久| 日韩中文在线电影| 日韩精品高清不卡| 久久久精品午夜少妇| 欧美一区自拍| 免费视频国产一区| 国产精品久久久久9999高清| 亚洲国内欧美| 欧美国产专区| 免费在线观看精品| 三上亚洲一区二区| 国产伦精品一区二区三区在线播放| 久久国产亚洲| 国产精品magnet| 中文字幕av一区二区三区人| 91精品精品| 91精品尤物| 亚洲一区网站| 日韩大片免费观看| 久久爱www.| 亚洲精品视频一二三区| 中文字幕系列一区| 麻豆传媒一区二区三区| 亚洲精品欧洲| 99国产精品99久久久久久粉嫩| 精品九九在线| 国产丝袜一区| 亚洲精品精选| 久久av在线| 欧美freesex黑人又粗又大| 国产精品流白浆在线观看| 91久久在线| 久久精品播放| 九色porny丨国产首页在线| 国产精品a级| 欧美日韩在线精品一区二区三区激情综合| 91久久在线| 亚洲免费精品| 91久久久精品国产| 欧美日韩国产在线观看网站| 国产精品99一区二区三区| 国产精品传媒麻豆hd| 久久精品99国产精品| 欧美日韩va| 7m精品国产导航在线| 欧美一级网站| 日韩综合一区二区三区| 视频一区二区三区入口| aa国产精品| 亚洲精品a级片| 亚洲精品网址| 精品中文一区| 91高清一区| 亚洲欧美视频| 日韩一级精品| 老牛国产精品一区的观看方式| 日韩午夜高潮| 亚洲天堂免费| 日本亚洲视频| 欧美一区自拍| 精品久久美女| 久久伊人久久| 丰满少妇一区| 日韩精品专区| 亚洲欧美一区在线| 久久在线免费| 亚洲一区观看| 日韩精品社区| 麻豆成人av在线| 欧美日韩视频网站| 亚洲一区成人| 日韩黄色av| 开心激情综合| 99久久夜色精品国产亚洲1000部| 亚洲一区二区免费看| 日韩成人午夜精品| 欧美激情视频一区二区三区免费 | 女人av一区| 亚洲精品裸体| 久久超级碰碰| 成人日韩精品| 日韩欧美二区| 日韩视频一区二区三区在线播放免费观看| 久色成人在线| 麻豆极品一区二区三区| 欧美日韩国产观看视频| 欧美aa国产视频| 日本中文字幕不卡| 精品亚洲二区| 九一精品国产| 亚洲乱码久久| 国产日韩欧美三级| 国产激情在线播放| 午夜在线一区二区| 国产精品亚洲一区二区在线观看| www在线观看黄色| 日韩欧美一区二区三区在线观看 | 国产aⅴ精品一区二区四区| 久久蜜桃精品| 日本不卡高清视频| 亚洲天堂资源| 中文字幕av亚洲精品一部二部| 欧美激情视频一区二区三区免费| 国产精品av久久久久久麻豆网| 日本一不卡视频| 国产精品黑丝在线播放| 欧美在线资源| 国产精品午夜av| 欧美日韩国产欧| 久久久精品国产**网站| 尤物网精品视频| 粉嫩av一区二区三区四区五区 | 欧美专区一区| 久久国产影院| 麻豆国产欧美一区二区三区 | 久久视频一区| 国产欧美一区二区色老头| 国产国产精品| 美女毛片一区二区三区四区最新中文字幕亚洲| 久久亚洲在线| 精品国产欧美日韩| 亚洲精品一级| 久久蜜桃资源一区二区老牛| 国产亚洲字幕| 在线综合视频| 精品久久一区| 日韩avvvv在线播放| 不卡中文字幕| 精品久久不卡| 国产精品亚洲片在线播放| 一区二区自拍| 成人久久久久| 精品久久久亚洲| 人人爱人人干婷婷丁香亚洲| 91成人精品| 播放一区二区| 国产suv精品一区二区四区视频 | 麻豆久久精品| 日韩精品电影| 免费精品一区| 日精品一区二区三区| 午夜久久一区| 欧美中文一区二区| 日韩欧美综合| 国产成人77亚洲精品www| 欧美在线精品一区| 亚洲欧洲av| 中文字幕日韩高清在线| 久久成人国产| 尤物精品在线| 欧美日韩精品免费观看视频完整| 不卡一二三区| 日韩成人精品一区| 国产精品手机在线播放| 午夜久久av | 日韩久久视频| 香蕉成人av| 视频二区不卡| 久久九九精品| 国内亚洲精品| 亚州av乱码久久精品蜜桃| 欧美成人基地| 久久国产日本精品|