『Java』StringBuilder类使用方法
String类存在的问题
String类的底层是一个被final
修饰的byte[]
,不能改变。

为了解决以上问题,可以使用java.lang.StringBuilder
类。
StringBuilder概述
java.lang.StringBuilder
StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。
常用构造方法
public StringBuilder()
:构造一个空的StringBuilder容器,底层数组长度为16。public StringBuilder(String str)
:构造一个StringBuilder容器,并将字符串添加进去。底层数组长度为str.length() + 16
。
常用方法
StringBuilder常用的方法有2个:
public StringBuilder append(...)
:添加任意类型数据的字符串形式,并返回当前对象自身。public String toString()
:将当前StringBuilder对象转换为String对象。
public class Dome002_StringBuilder {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
StringBuilder builder2 = builder.append("hello");
//对比一下
System.out.println(builder); // hello
System.out.println(builder2); // hello
System.out.println(builder == builder2); //true
// append()方法返回自身所以 builder == builder2为true
// 可以添加 任何类型
builder.append("hello");
builder.append("world");
builder.append(true);
builder.append(100);
builder.append('A');
builder.append('中');
builder.append(12.12);
System.out.println(builder); // hellohelloworldtrue100A中12.12
String s = builder.toString();
System.out.println(s); // hellohelloworldtrue100A中12.12
}
}
『Java』StringBuilder类使用方法的更多相关文章
- 『Java』String类使用方法
Java中的字符串 java.lang.String类表示字符串类,Java程序中所有字符串文字都可以看作实现该类的实例. 特点: 字符串不可变:字符串的值在创建后不能在发生改变 public cla ...
- 『Java』接口的使用方法
以下三个文件存在于同一个包下: 定义接口Dome_Interface.java: package cn.xxmmqg.Interface; // 接口不能直接使用,必须有一个"实现类&quo ...
- Java之StringBuilder类
StringBuilder类的由来 由于String类的对象内容不可改变(底层是一个被final修饰的数组),所以每当我们进行字符串拼接时,总是会在内存中创建一个新的对象.如果对字符串进行拼接操作,每 ...
- paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- java加载类的方法1.classloader 2.class.forName()
java加载类的方法1.classloader 2.class.forName() 加载一个类后,是在方法去创建这个类的元信息class对象,在方法区立刻创建.在方法区创建.
- 『Java』Collection接口 Collections类
接口Collection public interface Collection<E>定义了所有单列集合中共性的方法,所有的单列集合都可以使用共性方法. Collection的常用子接口有 ...
- 深入分析Java的String类的方法与特点
字符串是任何编程语言都必须支持的变量类型,有些编程语言是直接提供了原生的变量类型,有些编程语言则使用语法特性以 SDK 的形式提供支持.在Java编程平台中,对字符串的支持使用了后者的形式,就是通过在 ...
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- Java中String类的方法及说明
String : 字符串类型 一. String sc_sub = new String(c,3,2); // String sb_copy = new String(sb) ...
随机推荐
- MySQL数据库企业集群项目实战(阶段三)
MySQL数据库企业集群项目实战(阶段三) 作者 刘畅 时间 2020-10-25 目录 1 架构拓扑图 1 1.1 方案一 1 1.2 方案二 2 ...
- 6.11、制作windos虚拟机
1.下载kvm支持windows系统的驱动程序: cd /tmp/ wget https://fedorapeople.org/groups/virt/virtio-win/direct-downlo ...
- 如何查看wsdl文档
http://www.360doc.com/content/16/1027/00/37651083_601648996.shtml
- Robot Framework中SSHLibrary 学习与总结
一.安装SSHLibrary 二.关键字 1.与连接相关的 Open Connection Get Connection Get Connections Switch Connection Clos ...
- robotframework安装robotframework-requests库遇到的几种问题
robotframework-requests库依赖于requests库,所以如果安装robotframework-requests库后,在RF中的RequestsLibrary不能使用或者使用pyt ...
- php微信jsapi支付 支付宝支付 两码合一
产品开会提出了这样的需求:一个二维码可以微信支付也可以支付宝支付 经过自己的钻研以及询问技术高人(本人代码一般般)和网上搜索 最终实现其功能 我用微信jsapi 和 支付宝网页支付 其实并不怎么难: ...
- ctf之SusCTF2017-Caesar cipher
由题目名字SusCTF2017-Caesar cipher可知,该题目考察凯撒密码. 直接下载附件打开如图 由题目描述可知,提交的flag格式为Susctf{}.在网上搜索在凯撒密码解密. 偏移量为3 ...
- 3.Java入门
一.Java帝国的诞生 一场旷日持久的战争 1.C & C++ 1972年C诞生 贴近硬件(有汇编的一些特点),运行极快,效率极高 操作系统,编译器,数据库,网络系统等 指针(能够直接操作内存 ...
- DNS域名解析四种配置实验 ---Linux DNS域名解析服务
DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...
- 选择适合入门的自动化测试框架TestNG 基于Java语言的入门选择之一
对于测试工程师新手来说,最痛苦的莫过于入门,其实只要入门3个月左右,对于自动化测试,所有的测试工程师除了喜爱,就是更爱.自动化测试工作,是从根本上解放人性,不用重复去完成鼠标的点点点,例如以下测试常常 ...