当前位置: 首页 > news >正文

如何做印刷报价网站淘宝客网站建站

如何做印刷报价网站,淘宝客网站建站,私人订制网站有哪些,wordpress企业新闻关于StringJoiner 1.介绍2.源码2.1 属性2.2 方法 3 举例StringJoiner做法3.1 只含间隔符3.2 含间隔符和前后缀3.3 merge合并两个joiner3.4 stringJoiner.setEmptyValue(xxx);3.5 综合举例length()方法 1.介绍 在JDK1.8之后#xff0c;提供了一个StringJoiner类用来… 关于StringJoiner 1.介绍2.源码2.1 属性2.2 方法 3 举例StringJoiner做法3.1 只含间隔符3.2 含间隔符和前后缀3.3 merge合并两个joiner3.4 stringJoiner.setEmptyValue(xxx);3.5 综合举例length()方法 1.介绍 在JDK1.8之后提供了一个StringJoiner类用来进行字符串拼接处理其可以在初始化的时候指定分隔符和前缀后缀 实现逻辑和StringBuilder基本是一样的逻辑另外加入了前缀后缀、多了一个merge的功能 作用处理字符串拼接的工具类 好处比StringBuilder和StringBuffer更加方便、便捷、优雅 2.源码 源码 package java.util;public final class StringJoiner {--属性private final String prefix;//前缀private final String delimiter;//间隔符private final String suffix;//后缀private StringBuilder value;//值private String emptyValue;//空值 --只含间隔符的构造public StringJoiner(CharSequence delimiter) {this(delimiter, , );//默认前缀和后缀为,重载调用} --含间隔符以及前后缀的构造public StringJoiner(CharSequence delimiter,CharSequence prefix,CharSequence suffix) {//间隔符前缀和后缀判断是否为nullnull将抛出异常Objects.requireNonNull(prefix, The prefix must not be null);Objects.requireNonNull(delimiter, The delimiter must not be null);Objects.requireNonNull(suffix, The suffix must not be null); // 成员变量赋值this.prefix prefix.toString();this.delimiter delimiter.toString();this.suffix suffix.toString();this.emptyValue this.prefix this.suffix;//空值被设置为只有前后缀}//设置空值检查是否为nullpublic StringJoiner setEmptyValue(CharSequence emptyValue) {this.emptyValue Objects.requireNonNull(emptyValue,The empty value must not be null).toString();return this;} --toString()方法Overridepublic String toString() {if (value null) {return emptyValue;//没有值将返回空值或者后续设置的空值} else {if (suffix.equals()) {return value.toString();//后缀为直接返回字符串不用添加} else {//后缀不为添加后缀然后直接返回字符串修改长度int initialLength value.length();String result value.append(suffix).toString();// reset value to pre-append initialLengthvalue.setLength(initialLength);return result;}}} --add元素开始进行初始化先添加前缀有了之后每次先添加间隔符StringBuilder后续append字符串public StringJoiner add(CharSequence newElement) {prepareBuilder().append(newElement);return this;} --合并StringJoiner注意后面StringJoiner 的前缀就不要了后面的appen进来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 thisStringBuilder builder prepareBuilder();builder.append(other.value, other.prefix.length(), length);}return this;}//初始化先添加前缀有了之后每次先添加间隔符private StringBuilder prepareBuilder() {if (value ! null) {value.append(delimiter);} else {value new StringBuilder().append(prefix);}return value;} --拿长度 拿的是加了间隔符和前后缀后的长度若无元素拼接则不算间隔符长度详情见下面分析public int length() {// Remember that we never actually append the suffix unless we return// the full (present) value or some sub-string or length of it, so that// we can add on more if we need to.//不忘添加后缀的长度return (value ! null ? value.length() suffix.length() :emptyValue.length());} }2.1 属性 prefix拼接后的字符串前缀delimiter拼接时的字符串分隔符suffix拼接后的字符串后缀value拼接后的值emptyValue空值的情况value为null时返回 2.2 方法 setEmptyValue()设置空值toString()转换成Stringadd()添加字符串merge():从另一个StringJoiner合并length()长度包括前后缀 3 举例 举例把一个字符串集合使用 “ ”逗号分隔开先看之前的StringBuilder做法 # StringBuilder做法 String a a, b b, c c; ListString list new ArrayList(); list.add(a); list.add(b); list.add(c); String s StringBuilder builder new StringBuilder(); list.forEach(s - builder.append(s).append(,)); // 最后在处理掉多余的, System.out.println(builder.toString().substring(0, builder.length() - 1)); // 输出结果a,b,cStringJoiner做法 参数不同使用不同调用的构造函数不同呈现的用法不同 3.1 只含间隔符 StringJoiner stringJoinernew StringJoiner(,把字符串根据“,”进行拼接 stringJoiner.add(a); stringJoiner.add(b); stringJoiner.add(c); System.out.println(stringJoiner);//a,b,c3.2 含间隔符和前后缀 StringJoiner stringJoinernew StringJoiner(,,[,]); 字符串 根据, 拼接并且用 [ 和 ] 包住首尾 stringJoiner.add(a); stringJoiner.add(b); stringJoiner.add(c); System.out.println(stringJoiner);//[a,b,c]3.3 merge合并两个joiner merge的思路是用当前的stringJoiner去append other的value,merge时去掉前后缀只进行value的拼接 merger后加上前后缀比如A merge B那么最后就加上A的前后缀且进行value拼接的时候连接A和B使用的是A的拼接符 StringJoiner stringJoiner1new StringJoiner(:,[,]); StringJoiner stringJoiner2new StringJoiner(.,(,)); stringJoiner1.add(a).add(b).add(c); stringJoiner2.add(d).add(e).add(f); System.out.println(stringJoiner1);//[a:b:c] System.out.println(stringJoiner2);//(d.e.f) stringJoiner1.merge(stringJoiner2);//[a:b:c:d.e.f]3.4 stringJoiner.setEmptyValue(“xxx”); 设置空值目的我们在源码中可以看出在无拼接元素的时候也就是valu为空时返回的是这个emptyValue的值/长度 3.5 综合举例length()方法 StringJoiner stringJoiner1new StringJoiner(:,[,]); StringJoiner stringJoiner3new StringJoiner(*); --无元素拼接 含前后缀 System.out.println(stringJoiner1.length());//2(前后缀长度) System.out.println(stringJoiner1);//[] --无元素拼接 只含间隔符 System.out.println(stringJoiner3.length());//0(无元素拼接时间隔符不算前后缀算) System.out.println(stringJoiner3);//空什么也没有 --加上元素拼接 stringJoiner1.add(a).add(b); System.out.println(stringJoiner1.length());//5 System.out.println(stringJoiner1);//[a:b] --设置emptyValue 此时stringjoiner3无元素拼接再设置emptyValue后返回的是empty的长度和值 stringJoiner3.setEmptyValue(123456); System.out.println(stringJoiner3.length());//6 System.out.println(stringJoiner3);//123456
http://www.pierceye.com/news/493837/

相关文章:

  • 电子商务网站规划与建设摘要软件app定制开发
  • 天水做网站的公司kj6699的seo综合查询
  • 找工程项目信息网站早那么做商城网站
  • 做网站优化销售管理系统排名
  • wordpress导入网站模板wordpress部分图片
  • 无锡做网站365caiyi秘密直播
  • 无锡企业网站制作报价公司做网站需要哪些手续
  • 最好的营销型网站保险购买平台有哪些
  • 网站建设实训的目的网站开发的框架协议
  • 本地郑州网站建设搭建一个网站
  • 如何做网站竞品分析哪个网站可以接任务做兼职
  • 佛山网站关键词网站建设需求分析文档
  • 网站收录地址旅游网站建设的相关报价
  • seo月薪seo优化方法网站快速排名推广渠道
  • 企业网站设计理念如何seo网站
  • 河南移动商城网站建设怎么创建平台卖自己的产品
  • 网上做网站钱被骗了报案有用吗文章自定义wordpress
  • 网站设置成灰色市场监督管理局是什么单位
  • 北京国贸网站建设wordpress需要付费才能看某些页面
  • 郸城网站建设wordpress教程cms
  • 做本地网站赚钱吗?php网站制作过程中遇到的问题及解决办法
  • 上海网站快速排名提升ui是网站建设吗
  • 中信建设有限责任公司洪波seo外链工具
  • 网站服务器和空间有什么区别网站制作的公司哪家效果好
  • 做网站具体收费梅州南站
  • 淘宝禁止了网站建设类wordpress极速优化
  • 山东app网站制作网站建设优化广告流量
  • 做阿里云网站浏览器编程语言
  • 青岛市网站制作企业邮箱密码忘了怎么重置密码
  • 文交所网站开发和业务多一样的平台