草庐IT

StringBuffer与stringBuilder

全部标签

c# - 使用 StringBuilder 编写 XML 可以吗?

感觉很脏。但也许不是……可以使用StringBuilder来编写XML吗?我的直觉说“虽然这感觉不对,但它的性能可能相当不错,因为它没有加载额外的库和开销它没有执行XmlWriter调用的任何额外方法调用。”它也似乎只是一般的代码较少。XmlWriter有什么好处?这是它的样子。我正在根据您来自的域构建一个OpenSearchXML文档。publicvoidProcessRequest(HttpContextcontext){context.Response.ContentType="text/xml";stringdomain=WebUtils.ReturnParsedSourceU

java - 在java中将字符串转换为stringBuilder

我有一个返回字符串的方法,但我想要StringBuilder方法中的数据并将其转换为字符串,那么我该怎么做呢?publicString[][]getDataOfJD(ListjdFields){inti=0;String[][]data=newString[jdFields.size()][];for(JobDescriptionFieldfield:jdFields){if(i>0){Stringmessages="";for(Stringmessage:field.getMessages()){messages+=message;}data[i]=newString[]{field

C#(四十)之stringBuilder类

使用StringBuilder需引用命名空间usingSystem.Text;String类与StringBuilder类的区别:string是各位用的最多的类型之一,是一个特殊的引用类型,直接派生于Object,因此它的值储存在托管堆上。构造一个新字符串的时候,不需要用new。它是”不可变的“。初始化字符串对象后,该字符串对象的长度、内容都是确定不变的了。如果修改这个字符,内存会重新开辟一个空间来存储新的字符,旧的字符等待垃圾回收,这样相对消耗资源。因为string的”不可变“,导致多次修改字符串的时候会损耗性能,那么这个时候StringBuilder的作用就来了。StringBuilder

android - SAX、StringBuilder 和内存泄漏

我有一个奇怪的问题。我正在解析带有大文本字段的文档。在我的角色部分,我使用的是StringBuildercurrentStory.append(ch,start,length);然后在我的endElement中,我将它分配给对象上的适当字段。if(name.equals(tagDesc)){inDesc=false;if(currentItem!=null){currentItem.setSummaryText(currentStory.toString());}currentStory.setLength(0);}setSummaryText(Stringtext)方法是:publi

java - StringBuilder.toString 是否保留构建的字符串?

我正在创建一个StringBuilder来收集我定期刷新到服务器的字符串。如果刷新失败,我想保留这些字符串以便下次重试,尽管与此同时我可能会收到其他要发送的字符串,这些字符串必须添加到StringBuilder。我想知道最有效的方法是什么,因为这是在Android应用程序中完成的,电池使用率和CPU使用率是一个大问题。调用StringBuilder的toString()函数是否存储它在内部返回的结果字符串,以便后续调用不必执行复制所有原始字符串的工作?或者如果调用失败,我是否应该创建一个新的StringBuilder并使用toString()的返回值进行初始化?

java - 如何最好地将 StringBuilder 转换为 String[]?

下面的代码可以工作,但固定了String[]中的元素数量。有没有办法让String[]动态添加所需的元素数量?privatestaticStringBuildernames=newStringBuilder();...publicString[]getNames(){intstart=0;intend=0;inti=0;String[]nameArray={"","","",""};while(-1!=end){end=names.indexOf(TAB,start);nameArray[i++]=names.substring(start,end);start=++end;//The

android - 使用 StringBuilder 追加

我有5个复选框,我必须选择多个复选框。我编写了这样的代码来检查复选框是否被选中:sports=(CheckBox)findViewById(R.id.sports_btn);sports.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){if(sports.isChecked()==true)list.add("4");}});我正在向数组列表中添加一个值:listArrayListlist=newArrayList();我正在检索字符串形式的值,如下所示:StringBuildersb=

Android:内存不足错误StringBuilder

在我的应用程序中,我以JSON的形式从服务器获取数据。数据约为1.5MB。该应用程序可以正常工作,但有时会在从服务器获取数据时崩溃,出现OutOfMemoryError。这是我的方法:privateStringsendPostRequest(Stringurl,Listparams)throwsException{Stringret=null;BufferedReaderbufferedReader=null;HttpClienthttpClient=newDefaultHttpClient();HttpPostrequest=newHttpPost(url);try{UrlEncod

Android StringBuilder 与字符串连接

我正在阅读此文档页面,http://developer.android.com/reference/android/util/Log.html.这里的部分引起了我的注意:Tip:Don'tforgetthatwhenyoumakeacalllikeLog.v(TAG,"index="+i);thatwhenyou'rebuildingthestringtopassintoLog.d,thecompilerusesaStringBuilderandatleastthreeallocationsoccur:theStringBuilderitself,thebuffer,andtheStr

java - 字符串是不可变的——这意味着我不应该使用 += 而只使用 StringBuffer?

字符串是不可变的,这意味着它们一旦创建就无法更改。那么,这是否意味着如果使用+=追加内容比创建StringBuffer并向其追加文本会占用更多内存?如果你使用+=,你会在每次必须保存在内存中的时候创建一个新的“对象”,不是吗? 最佳答案 是的,每次使用+=都会创建一个新对象。然而,这并不意味着这样做总是错误的。这取决于您是希望该值作为字符串,还是只是使用它来进一步构建字符串。如果您确实想要x+y的结果作为字符串,那么您最好使用字符串连接。但是,如果您真的要(比如说)循环并附加另一个字符串,以及另一个字符串等等-只需要在最后作为字符串