1. StringBuilder概述

  • StringBuilder可以看作是一个容器,创建之后里面的内容是可变的
  • 作用:提高字符串的操作效率

例如:
String s1 = “aaa”;
String s2 = “bbb”;
String s3 = “ccc”;

String str = s1 + s2 + s3;
//在每一个“+”号操作完,都会创建一个新的字符串,s1+s2 会创建一个,再 +s3 又创建一个,这会创建很多无用的字符串,大大浪费计算机的内存,同时也非常影响程序的运行效率。

  • 注意点:
    因为StringBuilder是java已经写好的类,且java在底层对它做了一些处理,在打印StringBuilder对象的时候,打印的不是他的地址值而是他的属性值,即内容。

2. StringBuilder的构造方法

  • public StringBuilder()
    //创建一个空白的StringBuilder对象,不包含任何内容

StringBuilder sb = new StringBuilder();
// “”

  • public StringBuilder(String str)
    //根据字符串的内容,来创建StringBuilder对象

StringBuilder sb = new StringBuilder(“abc”);
// “abc”

3. StringBuilder的常用方法

  • public StringBuilder append(任意类型)
    //在StringBuilder对象的内容的末尾添加数据,并返回添加后的对象本身,可以接收,也可以不接收
    //若添加的是“”(String类型),则会在串池中创建对应的字符串

StringBuilder sb = new StringBuilder(“abc”);
sb.append(1);
// “abc1”
StringBuilder sb2 = sb.append(true);
// “abc1true”

  • public StringBuilder reverse()
    //反转StringBuilder对象的内容,并返回反转后的对象本身

StringBuilder sb = new StringBuilder(“abc”);
sb.reverse();
// “cba”

  • public int length()
    //返回长度(StringBuilder对象的内容中字符出现的个数)

StringBuilder sb = new StringBuilder(“abc”);
sb.length();
// 3

  • public String toString()
    //通过toString()就可以实现把StringBuilder转换为String,并返回转换后的String字符串
    //这样就可以对转换后的String字符串,使用String类的方法了

StringBuilder sb = new StringBuilder();
sb.append(“aaa”);
sb.append(“bbb”);
sb.append(“ccc”);

System.out.println(sb);
// “aaabbbccc”

String str = sb.toString();
System.out.println(str);
// “aaabbbccc”

4. StringBuilder的使用场景

  • 字符串的拼接
  • 字符串的反转

5. 链式编程

  • 当我们在调用一个带返回值的方法时,不需要用变量接收他的结果,可以继续调用其他方法

String sb = “abc”;
int len = sb.substring(1).replace(“A”, “Q”).length() ;
System.out.println( len ) ;
// 2

java基础学习 day34(StringBuilder,链式编程)相关推荐

  1. Java基础学习——第六章 面向对象编程(下)

    Java基础学习--第六章 面向对象编程(下) 一.关键词:static 1. static关键字的引入 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new ...

  2. java基础学习——Swing图形化用户界面编程

    GUI概述 早期计算机系统中,电脑向用户提供的是单调.枯燥.纯字符状态的"命令行界面(CLI)".就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看 ...

  3. Java学习第十二天----方法参数类型以及返回值类型问题、链式编程、package包、权限修饰符、内部类、成员内部类

    Java学习第十二天----方法参数类型以及返回值类型问题.链式编程.package包.权限修饰符.内部类.成员内部类 1.方法参数类型: (1)类名作为形式参数: public class MyTe ...

  4. java链式编程_Java链式编程学习

    Java链式编程 在使用jquery时肯定对它的链式编程惊艳到,慢慢的其它语言这种编程模式也逐渐增多.其本身并不复杂,在调用方法时,方法最后返回对象本身,以达到链式编程的效果. 链式编程比较简单,只要 ...

  5. 链式编程在Java 中的应用

    链式编程在Java 中的应用 一.背景 近日在写一个问卷系统的时候,在处理接口返回值的时候,遇到了一些麻烦,总是感觉在处理返回对象的时候,书写的代码有一些冗余,每次都要获取对象,然后设置值,太麻烦了. ...

  6. Java的链式编程(支持lombok)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言:链式编程可以更快,更简洁的给对象赋值 链式编程需要在属性Getter.Setter时,重写Setter的方法 作用是给属性赋值后 ...

  7. java链式编程_Java 链式编程 和 lombok 实现链式编程

    一.链式编程定义 链式编程的原理就是返回一个this对象,就是返回本身,达到链式效果. 二.jdk中 StringBuffer 源码 我们经常用的 StringBuffer 就是 实现了链式的写法. ...

  8. 十二、Promise的学习笔记(Promise的基本使用、链式编程、all())

    一.认识Promise ES6中一个非常重要和好用的特性就是Promise 但是初次接触Promise会一脸懵逼,这TM是什么东西? 看看官方或者一些文章对它的介绍和用法,也是一头雾水. Promis ...

  9. Java基础学习——第十四章 网络编程

    Java基础学习--第十四章 网络编程 一.网络编程概述 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信 ...

最新文章

  1. 张书源:大数据能力助力我实现化工智能制造 | 提升之路系列(十)
  2. STM32单片机SIM800C创客GSM短信GPRS可编程模块SDK二次开发DIY
  3. 使用HTML5 details,summary实现,展开,下拉,树的效果
  4. neo4j安装和启动
  5. java 简化判断_简化Java内存分析
  6. ionic3 自动创建启动背景splash以及图标icon
  7. 组合数据类型练习,英文词频统计实例上(2017.9.22)
  8. 后盾网经典原创视频教程php,《后盾网经典原创视频教程:PHP》139集
  9. python xycoords_python可视化节点关系(三):matplotlib(2)鼠标交互
  10. Android Studio优秀插件汇总
  11. [转].net cookie版购物车
  12. java dbutil_Java:IO流,增删改查,配置文件,预处理后的DBUtils,含个人详细总结【诗书画唱】...
  13. 施乐s2110进入维修模式_施乐进入维修模式步骤
  14. 拨打国际电话的国际字冠和国家代码
  15. 输入一个数字n输出n以内的素数
  16. 开源OceanBase如何与Prometheus与Grafana监控结合
  17. kettle carte服务配置
  18. Python简单爬虫(以爬取豆瓣高分图书为例)
  19. 理解sklearn.processing.scale中使用有偏总体标准差
  20. Candence/Allegro启动找不到cdn_XXXX.dll文件解决方法

热门文章

  1. 使用Matlab提取ADC数据占空比变化的波形
  2. netty 拆包和粘包 (三)
  3. 酒店智能门锁/门禁智能系统开发实例
  4. Modbus协议的数据模型和地址模型,Modbus寄存器40001,30001是什么意思?
  5. 为您员工远程工作执行BYOD策略保驾护航
  6. 基于Range Image的自主车辆激光雷达定位(ICRA 2021)
  7. Vue.js搭建移动端购物车界面-基本结构和数据渲染
  8. [转载]利用Web Services实现软件自动升级
  9. 听 小城大事 大城大事 总结出来的故事(上篇)
  10. 用一分钟理解console的这个原理,多留几根黑发~