1.StringBuilder的介绍

1.StringBuilder是字符串缓冲区,可以认为是一种容器,能装任何类型的数据,但被装入的数据都会变为字符串 如图



无论是什么类型的数据,被装入字符串缓冲区后都被拼接成字符串

2.StringBuilder是一种可变的字符序列

2.StringBuilder的构造方法

1.StringBuilder()

在创建对象时,就会调用构造方法StringBuilder(),会创建出一个空的字符串缓冲区,即一个空的容器,要让容器有数据,得由程序员自行装入

2.StringBuilder(String str)

在创建对象时就会调用该构造方法,会创建出一个带有初始化内容的字符串缓冲区,其内容则是括号里的数据

3.StringBuilder的成员方法

1.StringBuilder append(任意类型)

使用该方法可以将括号里的任意类型的数据装入字符串缓冲区(StringBuilder) 如图

添加数据仅仅是常规功能,重要的是返回对象本身

什么是返回对象本身?不妨看看下图



明明使用的是sb1进行接收,并且是用sb1调用的append,为什么打印sb时,控制台上却都显示了sb1装入的数据?

答:1.首先,在append方法上我们发现它返回类型是StringBuilder,而sb的类型也是StringBuilder,因此append可以返回值给sb这个对象

2.因为append返回了sb,所以当装入了数据时,sb就会接收到这些数据,而sb1仅仅是一个中介,sb1.append()所装入的数据也因为append这个方法可以返回对象本身,而被sb所接收,所以我们打印sb就会出现这些数据

根据上面的解释,我们会发现我们貌似完全不需要sb1这个中介 如图

链式编程:调用的方法,返回的结果是对象,就可以继续向下调用方法

知识:今后,只要返回结果是对象的方法,都可以使用链式编程

提问:为什么打印的这四个变量的数据一模一样?



答:因为这4个数据都使用的append方法,而append方法返回的结果是对象,也就说明这四个方法指向同一块内存空间(sb),而sb的值就是所有装入的数据,因此打印的结果一样



2.StringBuilder reverse()

将缓冲区里的字符串进行内容反转,因为返回类型也是StringBuilder 所以返回的结果也是对象,也可以使用链式编程

注意,返回结果是对象的方法,是可以相互使用的



这里是先反转了之前sb所装入的数据,而后又装入新的数据,所以“我没有反转”没有被反转

3.int length()

返回sb里装入的字符串长度

4.toString()

将StringBuilder类型转换为String类型

明明StringBuilder就可以打印括号里的字符串,为什么还要转换成String进行打印?

tostring()的应用场景:当数据存在StringBuilder中,但是我们要调用的方法在StringBuilder中没有,但是String中有的时候,就要用到该方法 如图



StringBuilder的介绍、构造方法及成员方法的更多相关文章

  1. Java有参构造方法和成员方法

    Java面向对象基础就包括有参构造方法和成员方法 无参构造声明方式为 class Teacher{ //无参构造方法,一般用在初始化变量 public Teacher(){ } } 有参构造声明为 c ...

  2. 毫秒值的概念和作用 --Date类的构造方法和成员方法

    一,  Date类类 Date 表示特定的瞬间,精确到毫秒. 毫秒:千分之一秒作用:可以对时间和日期进行计算可一把日期转换为毫秒进行计算,计算完毕,再转换为日期. 把日期转换为毫秒:当前的日期:202 ...

  3. 毫秒值的概念和作用与Date类的构造方法和成员方法

    日期时间类 Date类 java.Util.Date:表示日期和实践类 类Date表示特定的瞬间,精确到毫秒 毫秒:千分之疫苗 1000毫秒 =1秒 特定的瞬间:一个时间点,一刹那使劲啊 2088-0 ...

  4. 8.4 StringBuilder的介绍及用法(String 和StringBuilder区别)

    * StringBuilder:是一个可变的字符串.字符串缓冲区类.** String和StringBuilder的区别:* String的内容是固定的.(方法区的内容)* StringBuilder ...

  5. java继承关系中成员变量,构造方法,成员方法的关系

    Java继承中的成员关系 A:成员变量 a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单写那个名字就访问那个名字! b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢? 子 ...

  6. StringBuilder类介绍

    1 package cn.itcast.p2.stringbuffer.demo; 2 3 public class StringBuilderDemo { 4 public static void ...

  7. JAVA String介绍、常量池及String、StringBuilder和StringBuffer得区别. 以及8种基本类型的包装类和常量池得简单介绍

    一.概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承. 二.定义方式   方式一:直接赋值法 String str1 = "hello"; 方式 ...

  8. 构造方法、封装、关键字(this、static)和代码块的介绍

    1.构造方法 1.1 构造方法与成员方法的区别 构造方法分为无参构造和有参构造,其中有参构造方法和无参构造方法为方法的重载关系. 构造方法在初始化一个类的对象时进行调用,它没有返回值,方法名与类名相同 ...

  9. 01 语言基础+高级:1-5 常用API第二部分_day01.【Object类、常用API: Date类、System类、StringBuilder类】

    day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 java.lang.O ...

  10. java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。

    首先先说一下类的加载,流程.只有明确了类这个对象的存在才可以更好的理解反射的原因,以及反射的机制. 一.  类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三 ...

随机推荐

  1. Codeforces Round 958 (Div. 2)

    题目链接:Codeforces Round 958 (Div. 2) 总结:C因为常数没转\(long long\) \(wa\)两发,难绷. A. Split the Multiset fag:模拟 ...

  2. 小程序uView中loadMore 加载更多

    <u-loadmore :status="status" :icon-type="iconType" :load-text="loadText& ...

  3. react验证参数格式类型

    首先你需要下载 cnpm i prop-types 安装验证数据类型的插件: 子组件 import React, { Component } from "react"; impor ...

  4. react给当前元素添加一个类以及key的作用

    给当前元素添加一个类是通过className来处理的: 引入css;直接from XXXX import React, { Component } from "react"; // ...

  5. uni-app配置顶部标题样式

    在pages.json中,通过配置这个文件,可以去设置当前页面的标题样式, 赋值的时候,将注册删除哈!!! 这样配置兼容 小程序和H5端 在配置的时候,没有给背景色,我还以为在uniapp中不兼容小程 ...

  6. 使用SOUI播放视频

    播放视频是一个常规需求. 如果将每一个视频帧转换成rgb格式,再使用gdi贴图,效率会很低,只能适合分辨率很低的视频,1080P全屏软渲染一般的电脑都撑不住. 因此渲染视频通常需要启用硬件渲染.开启硬 ...

  7. Flink监控看板Dashboard解析

    一. 二.常见问题排查 1.数据反压 背压(Backpressure)机制排查 点击JobName 点击某个算子 点击Backpressure查看,状态为HIGH时,则存在数据反压问题 注:若流程为A ...

  8. Linux下Docker及Nvidia Container ToolKit安装教程

    作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 我们接下来在Ubuntu中安装Docker(安装详见:Get Docker | Docker Docs)及NVI ...

  9. pycharm上传github问题:rejected

    我从pycharm上传项目时,遇到的问题: 以下是一些解决思路: 这个错误提示表明,你在尝试将本地代码推送到远程仓库时,远程仓库中已经包含了你本地尚未获取的更改.换句话说,远程仓库的代码比你的本地代码 ...

  10. C# 全角字符和半角字符相互转换

    参考链接:https://blog.csdn.net/willingtolove/article/details/106923879 1. 全角转半角 /// <summary> /// ...