Translation_java_StringBuffer

本文详细介绍了StringBuffer类的功能和使用方法,包括其线程安全性、主要操作(如append和insert)、与StringBuilder的区别等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  _    代表要翻译                        此颜色代表上文已翻译   

(%)  %解释下划线                       此颜色代表翻译词组  


java.lang 
Class StringBuffer

java.lang.Object
   java.lang.StringBuffer
All Implemented Interfaces:
Serializable, Appendable, CharSequence

public final class  StringBuffer
extends  Object·1
implements  Serializable, CharSequence

A thread-safe,  mutable(易变的) sequence(一连串) of characters. A string buffer is like a String, but can be  modified(修改的). At any point  in time(同时) it  contains(包含) some  particular(特殊) sequence of characters, but the length and  content of the sequence can be changed through certain(某些) method calls.

stringbuffer是一个安全的线程,可以改变的字符串,一个stringbuffer就像一个字符串,
但是可以被修改。在有任何点的同时它还包含了字符串,但是字符串的长度和连接通过某些方法被修改;

String buffers are safe for use by  multiple(多线程) threads. The methods are synchronized where necessary  so that all the  operations(运行) on any  particular(特定的) instance(事例) behave(使用)  as if they  occur(出现) in some  serial order(连续的下命令) that is  consistent(一致的) with the order(次序) of the method calls  made by each of the  individual(个人的) threads involved.

通过使用stringbuffer的多线程是安全的,它的所有方法是同步的在需要的时候;以至于运行事例使用的同时
如出现多个命令,通过单线程对它下的命令顺序是一致的

The  principal(主要的)  operations(操作) on a StringBuffer are the append and insert methods, which are  overloaded(重载) so as to  accept(接受) data of any type. Each  effectively(有效的) converts a given  datum(数据) to a string and  then appends or inserts the characters of that string to the string buffer. The append method always  adds these characters at the end of the buffer; the insert method adds the characters at a  specified(规定) point.

stringbuffer主要的操作有append和insert方法,它是被重载的,所以能接受任何数据类型.任何转换成string的数据和string的appends或者inserts是到stringbuffer
这append的方法总是在buffer后面加这些字符,这insert方法是在这规定的点上加字符

For example, if z  refers(指) to a string buffer object whose  current(流行的) contents are "start", then the method call z.append("le") would  cause(给...带来) the string buffer to contain "startle", whereas z.insert(4, "le") would alter the string buffer to contain "starlet".

例如,假如z是"start"的stringbuffer对象,
然后调用这个append方法加("le") 得到的stringbuffer结果包含:"startle";
而z调用这个insert插入方法(4,"le")修改后得到的stringbuffer结果包含:"startle";

In  general(总体), if sb  refers to an  instance(例子) of a StringBuffer, then sb.append(x) has  the same effect  as sb.insert(sb.length(), x).

总体看:假如sb是指一个stringbuffer的,然后sb.append(x)和sb.insert(sb.length(),x)得到是相同的结果

Whenever an  operation(操作)  occurs(重新) involving(使..陷于) source(原来的) sequence (such as appending or inserting from a source sequence) this class synchronizes only on the string buffer performing(进行) the  operation, not on the source.

任何一个操作这个stringbuffer类的同步操作,得到是一个新的顺序,而不是原来的

Every string buffer has a  capacity(容量)As long as the length of the  character sequence contained(包含) in the string buffer does not  exceed(超越) the  capacity, it is not necessary to allocate(分配) a new  internal(内部) buffer array. If the  internal buffer  overflows(溢出), it is automatically(自动的) made larger. As of  release(发布) JDK 5, this class  has been  supplemented(补充) with an equivalent class  designed(原有的) for use by a single thread, StringBuilder. The StringBuilder class should  generally(广泛的) be used in preference(优先) to this one, as it supports(支持) all of the same  operations(操作) but it is faster, as it  performs no synchronization.

每个stringbuffer有一个容量大小,在这stringbuffer只要这个字符串不超越这个容量,
它是不需要分配一个新的内存容量,假如这内存是溢出的,它是会自动增长的.由于发布了JDK1.5,
这个类已经修补了我们原有使用的单线程,stringbuilder.它是优先于stringbuffer被广泛的使用,
它是支持所有的相同的操作而且是非常快,所以它不之多同步的。

Since:
JDK1.0
See Also:
StringBuilder, String,  Serialized Form
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值