`
- 浏览:
95339 次
- 性别:
- 来自:
北京
-
Jdk拾遗-StringBuffer与StringBuilder
public final class StringBufferextends Objectimplements Serializable, CharSequence
线程安全的可变字符序列。一个类似于 String 的字符串[缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。
例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。
通常,如果 sb 引用 StringBuilder 的一个实例,则 sb.append(x) 和 sb.insert(sb.length(), x) 具有相同的效果。
只要发生有关源序列(如在源序列中添加或插入)的操作,该类就只在执行此操作的字符串缓冲区上而不是在源上实现同步。
一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
public final class StringBuilderextends Objectimplements Serializable, CharSequence
一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。
例如,如果 z 引用一个当前内容为“start”的字符串生成器对象,则该方法调用 z.append("le") 将使字符串生成器包含“startle”,而 z.insert(4, "le") 将更改字符串生成器,使之包含“starlet”。
通常,如果 sb 引用 StringBuilder 的实例,则 sb.append(x) 和 sb.insert(sb.length(), x) 具有相同的效果。 每个字符串生成器都有一定的容量。只要字符串生成器所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区。如果内部缓冲区溢出,则此容量自动增大。
将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
`StringBuilder`是`JDK 5.0`引入的新类,它是`StringBuffer`的一个轻量级替代品,主要区别在于`StringBuilder`不是线程安全的。这意味着在单线程环境下,`StringBuilder`的操作速度通常会比`StringBuffer`更快,因为...
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
赠送jar包:bcprov-jdk14-1.38.jar; 赠送原API文档:bcprov-jdk14-1.38-javadoc.jar; 赠送源代码:bcprov-jdk14-1.38-sources.jar; 赠送Maven依赖信息文件:bcprov-jdk14-1.38.pom; 包含翻译后的API文档:bcprov...
解决no such provider: BC 问题所需的JAR 在jdk中的jre\lib\security修改java.security文件, security.provider.6=com.sun.security.sasl.Provider 下面添加...bcprov-jdk16-143.jar提供加密,解密,生成密钥对等方法
赠送jar包:bcprov-jdk14-1.38.jar; 赠送原API文档:bcprov-jdk14-1.38-javadoc.jar; 赠送源代码:bcprov-jdk14-1.38-sources.jar; 赠送Maven依赖信息文件:bcprov-jdk14-1.38.pom; 包含翻译后的API文档:bcprov...
赠送jar包:bcmail-jdk14-1.38.jar; 赠送原API文档:bcmail-jdk14-1.38-javadoc.jar; 赠送源代码:bcmail-jdk14-1.38-sources.jar; 赠送Maven依赖信息文件:bcmail-jdk14-1.38.pom; 包含翻译后的API文档:bcmail...
jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...
《国密依赖包bcprov-jdk16-1.46.jar详解》 在Java开发中,加密技术是保障信息安全的重要手段。国密(国家商用密码算法)是中国自主研发的一系列密码算法,包括SM2、SM3和SM4等,它们在金融、政务等领域有着广泛的...
SHA1是一种哈希函数,能够生成一个固定长度的唯一数字指纹,通过比对下载后的文件与原始文件的SHA1值,可以确认文件是否在传输过程中发生错误或被修改。 标签“bcprov-jdk14”进一步强调了这个库是针对Java 1.4版本...
jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-...
腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk...
jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586
解决no such provider: BC 问题所需的JAR 在jdk中的jre\lib\security修改java.security文件, security.provider.6=com.sun.security.sasl.Provider 下面添加 security.provider.7=org.bouncy...jdk15-135.jar的jar
jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-...
bcprov-jdk16-1.46.jar
标题中的"bcprov-jdk16-146.jar"和"bcprov-jdk15-146.jar"是两个版本的Bouncy Castle提供者的Java档案(JAR)文件,用于加密和数字签名功能。Bouncy Castle是一个开源的Java加密库,它扩展了Java Cryptography ...
开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8...
jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u...
bcprov-jdk15-133.jar bcprov-jdk15-133.jar