首页 > 编程语言 >JAVA中的两个容器StringBuilder和StringJoiner概述

JAVA中的两个容器StringBuilder和StringJoiner概述

时间:2023-05-05 22:35:50浏览次数:52  
标签:容器 JAVA String StringBuilder StringJoiner 字符串 public

JAVA中的两个容器StringBuilder和StringJoiner概述

StringBuilder可以看成一个容器,创建之后里面的内容是可以修改的

方法名说明
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 反转容器中的内容
public int length() 返回长度(字符出现的个数)
public String toString() 通过toString()可以实现把StringBuilder转换为String

 

StringJoiner

方法名说明
public StringJoiner(间隔符号)  
public StringJoiner(间隔符号,开始符号,结束符号)  
public StringJoiner add(添加的内容) 添加数据,并返回对象本身
public int length() 返回长度(字符出现的个数)
public String toString () 返回一个字符串

 

字符串拼接的底层原理

  1. 如果没有变量参与,都是字符串直接相加,编译之后就是拼接之后的结果,会复用串池中的字符串

  2. 如果有变量参与,每一行拼接的代码,都会在内存中创建新字符串 会比较浪费内存

标签:容器,JAVA,String,StringBuilder,StringJoiner,字符串,public
From: https://www.cnblogs.com/longlonglong777/p/17375562.html

相关文章

  • Java并发(四)----线程运行原理
    1、线程运行原理1.1栈与栈帧  JavaVirtualMachineStacks(Java虚拟机栈JVM)我们都知道JVM中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存......
  • Java 对象数组
    数组的元素可以是基本数据类型,也可以是引用数据类型。当元素是引用类型中的类时,我们称为对象数组。1、案例定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。问题一:打印出3年级(state值为3)的学......
  • 【实战】国密4(SM4)使用 .NET 和 Java 相互加解密
    需求:由于朋友项目上需要和第三方对接,数据在传输过程中使用国密4(SM4)算法进行了加密,需要双方对数据进行加密和解密操作,第三方使用的是Java开发的项目,朋友使用的是.NET开发的项目。SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发......
  • java基础-什么是方法,方法的定义和调用,方法的重载,方法的内存
    一、什么是方法方法method是程序中最小的执行单元。在实际开发中,可以将重复的代码、具有独立功能的代码抽取到方法中,这样可以提高代码的复用性和可维护性。二、方法的定义(打包)和调用注意:方法要写在main主方法的外面(在main方法外面定义)。1、最简单的方法定义和调用//最简单......
  • javaNIO多线程worker实现
    boss线程负责接收连接,worker线程负责处理IO事件。packagenet.yury.nio;importjava.io.IOException;importjava.net.InetSocketAddress;importjava.nio.ByteBuffer;importjava.nio.channels.*;importjava.nio.charset.StandardCharsets;importjava.util.ArrayList;......
  • java安全
    java——sql注入:防御sql注入,其实就是session,参数绑定,存储过程这样的注入。//利用session防御,session内容正常情况下是用户无法修改的select*fromuserswhereuser=“'”+session.getAttribute("UserID")+"'";//参数绑定方式,利用了sq1的预编译技术Stringquery="SELECT......
  • Java的反射用途及其获取反射的三种方法
    (1)反射的用途有多种:①框架设计:在框架设计中,我们通常需要使用反射技术来解耦,使框架可扩展和灵活。②单元测试:在单元测试中,我们可以使用反射技术来访问私有或受保护的类成员,使测试更加全面。③动态代理:使用反射技术可以创建动态代理对象,从而可以在运行时期代理任意的......
  • Java--抽象
    Java--抽象抽象的概念如果父类当中的方法不确定如何进行{}方法体的实现,那么这就应该是一个抽象方法抽象方法和抽象类的格式抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束.抽象类:抽象方法所在的类,必须是抽象类才行,在class之前写上abstract即可.代码示......
  • String、StringBuilder、StringBuffer
    String真正不可变有下面几点原因:保存字符串的数组被final修饰且为私有的,并且String类没有提供/暴露修改这个字符串的方法。String类被final修饰导致其不能被继承,进而避免了子类破坏String不可变。String:不可变,线程安全StringBuilder:可变,单线程,线程不安全StringBuf......
  • java基于springboot+vue的垃圾分类管理系统,附源码+文档+PPT+数据库
    1、项目介绍垃圾分类网站的主要使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理,垃圾分类管理员;首页、个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃......