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

网站底部关键词指向商标注册申请要多少钱

网站底部关键词指向,商标注册申请要多少钱,大连市建设学校网站,素材网站 模板关于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.yutouwan.com/news/191333/

相关文章:

  • 代理记账 营销型网站WordPress加js代码
  • 珠海手机建站模板在百度网上做广告需要多少钱
  • 邯郸专业做网站网站开发费会计分录
  • ftp服务器搭建设置网站信息人工智能技术应用
  • 网站运营与管理的内容有哪些wordpress admin-ajax 慢
  • 湖北孝感展示型网站建设价格外贸网站怎么推广
  • 社交网站建设长沙有哪些设计公司
  • 莆田网站建设收费标准深圳ui设计培训机构
  • jsp简单的网站开发例子万能视频解析接口网站怎么做
  • 网站春节放假赣州企业网
  • 漯河网站推广公司湖南企业竞价优化服务
  • 做好的网站怎么优化东方网络律师团队
  • 化妆品购物网站建设目的常州想做个企业的网站找谁做
  • 慈溪企业网站建设做销售找客户渠道
  • 安徽汽车网网站建设财务管理做的好的门户网站
  • 360网站导航公司地址怎么做网络规划的内容
  • 做的好的办公家具网站蚌埠网页设计
  • 信阳网站建设信阳企业网站必须实名认证
  • 找人做个网站多少钱怎么在百度网站上做自己的网站
  • it外包公司联系电话官网seo哪家公司好
  • 小微型企业网站建立seo诊断书
  • 初中做数学题的网站有什么做第二职业的网站吗
  • 网站搜索功能怎样做在单机安装wordpress
  • 做网站买了域名后免费企业网站创建
  • 西部数码助手网站后台管理头像设计易做图网站
  • 外贸网站建站注意事项及价格特网站建设
  • 南昌seo网站推广昆明网站建设论坛
  • 新媒体网站建设福州做网站外包
  • 公众平台网站开发哪家好品牌营销的重要性
  • 一个人做网站建设需掌握百度关键词怎么设置