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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java實(shí)用工具之StringJoiner詳解

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

在平時(shí)的業(yè)務(wù)開(kāi)發(fā)中,我們可能會(huì)遇到字符串列表根據(jù)分隔符進(jìn)行拼接的需求。比如:

輸入:

數(shù)組:[“a”,“b”,“c”]分隔符:','

輸出:

“a,b,c” 處理

通常我們可以使用StringBuilder根據(jù)下標(biāo)位置決定是否需要添加分隔符以達(dá)到目的,比如:

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()); }

但是每次遇到這種情況都去這樣拼接很麻煩,而且如果使用迭代器,沒(méi)有下標(biāo)就不能使用這種方法。那么就每次append分隔符,最后再截?cái)啵?/p>

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)); }

所以通常情況下,我們都會(huì)去擴(kuò)展一個(gè)StringBuilder以提供分隔符組裝的功能,博主平時(shí)是這樣弄的:

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; } /** * 模擬的就是這個(gè)邏輯: * if(index != 0){ * append(delimiter); * } * append(str); * * @return */ private StringBuilder getStringBuilder() {if (stringBuilder == null) { //相當(dāng)于index==0, stringBuilder = new StringBuilder();} else { stringBuilder.append(delimiter);}return stringBuilder; } @Override public String toString() {return stringBuilder == null ? '' : stringBuilder.toString(); }}

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

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

博主大致看了一下StringJoiner的實(shí)現(xiàn)邏輯,很簡(jiǎn)單,和咱們擴(kuò)展StringBuilder基本是一樣的邏輯,另外加入了前綴后綴,然后多了一個(gè)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; }

到此這篇關(guān)于Java實(shí)用工具之StringJoiner詳解的文章就介紹到這了,更多相關(guān)Java StringJoiner內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国语对白精品一区二区| 国产精品精品| 欧美日韩国产欧| 欧美在线亚洲综合一区| 欧美日韩国产亚洲一区| 麻豆9191精品国产| 日本国产亚洲| 另类综合日韩欧美亚洲| 日韩深夜视频| 快she精品国产999| 国产精品亚洲一区二区在线观看| 日本不卡视频在线观看| 国产福利一区二区精品秒拍 | 天堂资源在线亚洲| 欧美日韩高清| 天堂va在线高清一区| 免费在线亚洲| 亚洲v在线看| 亚洲图片久久| 黄色网一区二区| 91精品99| 国产亚洲精品精品国产亚洲综合| 成人精品高清在线视频| 亚洲四虎影院| 亚洲最新av| 成人在线免费观看网站| 国产亚洲精品自拍| 久久精品国产久精国产| 99亚洲视频| 精品国产亚洲一区二区三区大结局 | 香蕉久久夜色精品国产| 国产毛片精品| 狠狠久久婷婷| 日韩精品第一| 日韩欧美少妇| 欧美日韩99| 激情综合网站| 成人台湾亚洲精品一区二区| 亚洲一卡久久| 91一区二区三区四区| 亚洲久久一区| 播放一区二区| 欧美经典一区| 一本一道久久a久久| 欧美少妇精品| 日韩国产一二三区| 国产一区日韩一区| 日本aⅴ亚洲精品中文乱码| 国语对白精品一区二区| 亚洲日韩视频| 亚洲午夜精品久久久久久app| 国产精品调教| 蜜臀va亚洲va欧美va天堂 | 日产欧产美韩系列久久99| 欧美三级网址| 免费看久久久| 日本成人中文字幕| 亚洲电影在线一区二区三区| 国产精品igao视频网网址不卡日韩 | 欧美午夜网站| 国产亚洲一级| 日韩精品网站| 精品国产欧美日韩一区二区三区| 亚久久调教视频| 99视频在线精品国自产拍免费观看| 国产 日韩 欧美 综合 一区| 国产丝袜一区| 日韩精品中文字幕吗一区二区| 午夜欧美精品| 久久久人人人| 国内精品亚洲| 久久精品福利| 日本午夜精品久久久久| 免费人成网站在线观看欧美高清| 色天使综合视频| 高清一区二区三区| 精品免费av一区二区三区| 国产精品99久久久久久董美香| 日本成人手机在线| 日韩一区二区三区在线看| 性欧美精品高清| 免费精品国产| 99久久久久| 欧美影院三区| 久久网站免费观看| 999国产精品视频| 欧美中文一区二区| 日韩福利一区| 色婷婷狠狠五月综合天色拍| 日韩高清中文字幕一区二区| 亚洲午夜天堂| 秋霞影视一区二区三区| 国产亚洲一区二区手机在线观看| av综合电影网站| 欧美羞羞视频| 久久精品99久久无色码中文字幕| 日韩中文字幕高清在线观看| 欧美精品日日操| 亚洲夜间福利| 国产精品社区| 一区二区亚洲视频| 日韩精品久久久久久久软件91| 黄色av一区| 中文字幕亚洲在线观看| 日韩精品91亚洲二区在线观看| 日本午夜精品一区二区三区电影 | 亚洲精选久久| 亚洲精品在线二区| 天堂精品久久久久| 国产精品中文字幕制服诱惑| 国产精品欧美三级在线观看 | 先锋亚洲精品| 综合干狼人综合首页| 日韩不卡免费视频| 欧美亚洲综合视频| 国产美女精品视频免费播放软件| 精品三级av| 久久中文亚洲字幕| 中文久久精品| 日本aⅴ免费视频一区二区三区| 国产欧美久久一区二区三区| 国产一区二区三区日韩精品 | 日韩精品久久理论片| 亚洲综合电影一区二区三区| 在线日韩成人| 欧美日韩一区二区高清| 香蕉久久久久久久av网站| 亚洲欧美日本视频在线观看| 中文一区一区三区免费在线观| 中文字幕中文字幕精品| 国产精品1区| 久久中文字幕av| 视频一区在线播放| 日韩一区二区三区在线看| 国产精品蜜月aⅴ在线| 久久精品亚洲人成影院| 视频一区二区中文字幕| 日韩av字幕| 日日夜夜免费精品视频| 国产日韩欧美三区| 精品视频一区二区三区在线观看| 在线视频观看日韩| 中文字幕日本一区二区| 在线一区二区三区视频| 国产精品欧美日韩一区| 999国产精品视频| 久久都是精品| 亚洲少妇在线| 色综合视频一区二区三区日韩 | 国产情侣一区| 9999国产精品| 免费久久99精品国产自在现线| 国产日韩1区| 日本久久成人网| 石原莉奈一区二区三区在线观看| 久久丁香四色| 国产亚洲激情| 国产激情久久| 欧美 日韩 国产一区二区在线视频 | 午夜久久久久| 免费中文字幕日韩欧美| 欧美日韩1区2区3区| 国产一区亚洲| 欧美日韩亚洲一区二区三区在线| 久久久久久久久丰满| 亚洲免费福利一区| 精品国产黄a∨片高清在线| 亚洲欧美在线综合| 99视频精品全国免费| 国产一区成人| 午夜在线精品偷拍| 欧美丰满日韩| 欧美久久一区二区三区| 亚洲一级特黄| 久久av免费| 日本亚洲欧美天堂免费| 99精品视频在线观看免费播放| 久久国产精品色av免费看| 亚洲大片在线| 老牛国内精品亚洲成av人片| 久久xxxx| 久久国产精品成人免费观看的软件| 中文字幕一区二区三区四区久久 | 欧美aa在线视频| 久久大逼视频| 韩国三级一区| 岛国精品一区| 国产欧美综合一区二区三区| 在线日韩电影| 成人一区而且| 国产精品白浆| 日韩成人精品一区二区三区| 亚洲特色特黄| 久草精品视频| 日韩1区2区日韩1区2区| 亚洲不卡视频| 欧美另类综合| 美女免费视频一区| 日韩精品免费一区二区夜夜嗨 | 久久国产尿小便嘘嘘|