草庐IT

StringBuffer与stringBuilder

全部标签

java - 如何在 Java ME 中将 StringBuffer 转换为 InputStream?

我是Java新手,正在学习JavaME开发。我陷入了这种转变。请帮助我将StringBuffer转换为InputStream。谢谢! 最佳答案 查看类(class)ByteArrayInputStream.例如:publicstaticInputStreamfromStringBuffer(StringBufferbuf){returnnewByteArrayInputStream(buf.toString().getBytes());}请注意,您可能希望在getBytes()方法上使用显式字符编码,例如:returnnewByte

java - Javac 的 StringBuilder 优化弊大于利吗?

假设我们有如下代码:publicstaticvoidmain(String[]args){Strings="";for(inti=0;i(是的,我知道更好的实现方式是使用StringBuilder,但请耐心等待。)通常,我们可能期望生成的字节码类似于以下内容:publicstaticvoidmain(java.lang.String[]);Code:0:ldc#2//String2:astore_13:iconst_04:istore_25:iload_26:sipush100009:if_icmpge2512:aload_113:ldc#3//Stringreally15:invok

java - 具有正则表达式支持的 StringBuilder 的 replaceAll?

我查看了JavaAPI和一些常见的第3方库,但我找不到合适的方法来完成String.replaceAll的功能,StringBuilder除外。我知道通过一些工作,它可以为StringBuffer完成,但我不想走这条路,因为StringBuffer比较慢。有谁知道任何第3方实用程序,或者是否有一段快速代码可以实现此功能? 最佳答案 String.replaceAll只是Matcher.replaceAll的一个便捷方法。Matcher是在Java中使用正则表达式的“实际”方式,并且允许许多更复杂的用例。此外,任何可以在String上

java - 将部分 Java 字节数组附加到 StringBuilder

我如何在Java下将字节数组的一部分附加到StringBuilder对象?我有一段从InputStream读取到字节数组的函数。然后我想将我读到的任何内容附加到StringBuilder对象中:byte[]buffer=newbyte[4096];InputStreamis;////somesetupcode//while(is.available()>0){intlen=is.read(buffer);//Iwanttoappendbuffer[0]tobuffer[len]intoStringBuilderatthispoint} 最佳答案

java - 在 StringBuilder 中的最后一个字符串之后优雅地删除 "\n"分隔符

有以下Java代码,用“\n”创建StringBuilder,即回车分隔符:while(scanner.hasNextLine()){sb.append(scanner.nextLine()).append("\n");}发生了,在最后一个字符串(行)之后有“\n”符号。如何从生成的StringBuilder对象中优雅地删除最后一个“\n”?谢谢。 最佳答案 这对我一直有效sb.setLength(sb.length()-1);操作非常轻量级,保持当前内容大小的内部值只会减少1。此外,如果您认为缓冲区可能为空,请在执行此操作之前检查

java - 如何在 StringBuilder 上检查 null?

我想在我的代码中专门检查null或empty。Java中StringBuilder的empty和null是否相同?例如:StringBuilderstate=newStringBuilder();StringBuildererr=newStringBuilder();success=executeCommand(cmd,state,err);/*hereexecuteCommand()returnsemptyornullinstate,IcantmakechangesinexecuteCommand()socanIcheckitinmycodesomehowforstate,ifits

面试官:String、StringBuffer、StringBuilder有什么区别?

回答思路:    阐述String概念理解        存在问题和设计考量    总结体现的两个特性        StringBuilder/StringBuffer相同点和不同点    三者使用场景总结回答总结:    String是Java中非常常见且基础的类,用于字符串的构造和管理,它是Immutable类的经典实现,是finalclass,所有的属性也都是final的所以无法对内部数据进行修改,原生的保证了线程安全;JDK8及其以前,底层数据是用char数组进行存储的,JDK9之后是byte数组存储的;    String修改操作不当会产生大量的临时字符串,为了避免这样的问题,Ja

java - StringBuilder 是否慢到我应该缓存它的结果?

我正在编写一些代码以从Java访问Redis,因此我需要创建大量字符串作为键。当然,这些key有一个模式,我将重复为相同的访问重新生成相同的key。我正在考虑为生成的key实现缓存(基于DAO参数),但即使考虑到缓存的速度,我想知道加速是否值得复杂性。key由一个UUID和一个3-7个字符串组成。在这种情况下,StringBuilder是否足够慢以保证缓存? 最佳答案 只有分析可以肯定地告诉您,但是如果您正在缓存这些,您必须有某种方法从缓存中获取它们,并且这可能至少会产生与仅使用StringBuilder一样多的开销。StringB

c# - .NET StringBuilder 前加一行

我知道.NET中的System.Text.StringBuilder有一个AppendLine()方法,但是,我需要在一个StringBuilder。我知道您可以使用Insert()来附加一个字符串,但我似乎不能用一行来做,是否有我可以使用的下一行字符?我使用的是VB.NET,所以最好用VB.NET回答,但用C#回答也可以。 最佳答案 isthereanextlinecharacterIcanuse?您可以使用Environment.NewLineGetsthenewlinestringdefinedforthisenvironme

c# - 在类似 StringBuilder 的 C 模块中增加多少缓冲区?

在C中,我正在研究一个管理字节缓冲区的“类”,允许将任意数据附加到末尾。我现在正在研究当底层数组填满时使用调用realloc自动调整大小。这对于曾经使用过Java或C#StringBuilder的人来说应该是有意义的。我了解如何调整大小。但是有没有人对每次调整大小时增加多少缓冲区有任何建议,并提供了理由?显然,在浪费的空间和过多的realloc调用(这可能会导致过多的复制)之间需要权衡取舍。我看过一些建议加倍的教程/文章。如果用户设法提供一个好的初始猜测,那似乎很浪费。是否值得尝试四舍五入到平台上对齐大小的两倍或倍数?有谁知道Java或C#在幕后做了什么?