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

医院网站建设招标公告哈尔滨定制网站建设

医院网站建设招标公告,哈尔滨定制网站建设,flash网站模板,视频制作免费软件文章目录 1 why2 what3 how4 练习手段 1 why StringBuilder拼接包含分隔符的字符序列时,分隔符需要一个一个添加,或者需要手动删除末尾冗余的分隔符,代码不美观,不好看。 比如,单个字符串依次拼接时: Stri…

文章目录

    • 1 why
    • 2 what
    • 3 how
    • 4 练习手段

1 why

  StringBuilder拼接包含分隔符的字符序列时,分隔符需要一个一个添加,或者需要手动删除末尾冗余的分隔符,代码不美观,不好看。

  比如,单个字符串依次拼接时:

StringBuilder sb = new StringBuilder();
sb.append("apple");
sb.append(",");
sb.append("orange");
sb.append(",");
sb.append("milk");
String str = sb.toString();

  以及字符串集合循环拼接时:

StringBuilder sb = new StringBuilder();
for (String s:foodList) {sb.append(s);sb.append(",");
}
sb.deleteCharAt(sb.length()-1);
String str = sb.toString();

  StringJoiner很好的解决了这个问题。

2 what

  StringJoiner:用于构造由分隔符分隔的字符序列,并且可选前缀、后缀。内部实际是基于StringBuilder实现。

  由于本文只使用StringJoiner替换StringBuilder,生成带分隔符的字符序列,所以与之无关的功能不介绍,详情可以参见jdk1.8官网手册。

StringJoiner功能
  如图,需要用到的有StringJoiner本身提供的StringJoiner构造方法、add方法、toString方法,以及String类中通过StringJoiner实现的join方法。

  (1)StringJoiner构造方法

public StringJoiner(CharSequence delimiter) {this(delimiter, "", "");
}

  创建对象时,可以指定分隔符。

  (2)add方法

public StringJoiner add(CharSequence newElement) {prepareBuilder().append(newElement);return this;
}

  外层使用的prepareBuilder()方法,及StringBuilder的append方法,继续查看prepareBuilder方法:

private StringBuilder prepareBuilder() {if (value != null) {value.append(delimiter);} else {value = new StringBuilder().append(prefix);}return value;
}

  也是用的StringBuilder的append方法,区别是增加了prefix(前缀,用于在输出的字符序列最前面添加用户自定义的字符,比如[)。

  (3)toString方法

@Override
public 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;}}
}

(4)String类的join方法

public static String join(CharSequence delimiter, CharSequence... elements) {Objects.requireNonNull(delimiter);Objects.requireNonNull(elements);// Number of elements not likely worth Arrays.stream overhead.StringJoiner joiner = new StringJoiner(delimiter);for (CharSequence cs: elements) {joiner.add(cs);}return joiner.toString();
}

  可以看到实际是调用StringJoiner实现的。

  此处,实现了suffix(分隔符)的填充操作。

  至此介绍完毕相关功能,后面进行尝试。

3 how

  (1)单个字符串依次拼接时:

  简单字符,可直接使用String类的join方法。

String result = String.join(",", "aaa", "bbb" ,"ccc");

  第一个入参是分隔符,后面依次添加要追加的字符串。

  字符串内容复杂时,使用StringJoiner。

StringJoiner sj = new StringJoiner(",");
sj.add("apple");
sj.add("orange");
sj.add("milk");
String str = sj.toString();

  (2)字符串集合循环拼接时:

List<String> foodList = new ArrayList<String>();
foodList.add("apple");
foodList.add("orange");
foodList.add("milk");StringJoiner sj = new StringJoiner(",");
for (String s:foodList) {sj.add(s);
}
String str = sj.toString();

  和一开始StringBuilder的方式比较下,是不是简洁许多?

4 练习手段

  可以参照“3 how”章节,尝试在自己的项目中,替换原本使用StringBuilder生成包含分隔符的字符序列功能。

http://www.yayakq.cn/news/641782/

相关文章:

  • 网站主页尺寸网站公司怎么做的好
  • 网站开发建设及推广合同解决wordpress打开慢
  • 广东网页空间网站平台网站建设个可行性研究
  • 网站注册公司随州论坛
  • 网站app生成器下载此博客由wordpress制作
  • wordpress网站转app插件下载网站模版整站下载
  • 易语言怎么做点击按钮打开网站网站备案换主体
  • 做网站哪家公司最好做网络推广的公司
  • 做竞猜网站犯法吗网站内容页优化
  • 优秀个人网站设计模板wordpress安装完成
  • 赣州网站建设 赣州网页设计产品展示型网站赏析
  • 公司网站总感觉少点什么找什么人做书画网站 建设方案
  • 设计师门户网站程序wordpress默认参数
  • 佛山外贸型网站建设公司小牛在线运营管理平台
  • 网站建设项目进度表做网站的工具+论坛
  • 网站开发项目的里程碑wordpress资源购买插件
  • 和平网站建设公司wordpress免费企业主题网站模板
  • 室内设计知名网站昆明网签备案查询系统
  • 2021百度最新收录方法滕州seo
  • 电子商务网站如何设计品牌宣传海报设计制作
  • 淄博网站建设招聘茶叶网站模板下载
  • 天津体验网站百度容易收录哪些网站
  • 电话营销网站建设临沂网站公司
  • 公司网站建设需求书网上挣钱快的路子
  • 企业网站建设哪家优惠root.txt文件放到您网站的根目录下
  • 如何做简易网站做网站按钮
  • 专业的单位网站开发开发可信赖的坪山网站建设
  • 一号建站加工平台推荐
  • 要做个公司网站的方案费用京津冀协同发展的先行领域
  • 网站页面设计说明深圳南山网络公司