标签: stringbuffer

Java:清除StringBuffer内容

所有,

我想知道使用setLength(0)清除StringBuffer内容是否有意义.即做得更好:

while (<some condition>)
{
    stringBufferVariable = new StringBuffer(128);
    stringBufferVariable.append(<something>)
                        .append(<more>)
                        ... ;
    Append stringBufferVariable.toString() to a file;
    stringBufferVariable.setLength(0);
}
Run Code Online (Sandbox Code Playgroud)

我的问题:
1>这还有比使用String对象追加内容更好的性能吗?

我不确定如何重新初始化StringBuffer变量会影响性能,从而影响问题.

请写下你的意见

[编辑]:删除了关于与StringBuilder进行比较的第二个问题,因为我已经理解了基于响应的其他内容.

java stringbuilder stringbuffer

4
推荐指数
1
解决办法
8880
查看次数

java中的StringBuffer/StringBuilder大小

所有,

为什么建议将StringBuffer/ StringBuilderobject的大小初始化为2 ^ {1 ... n}的大小(尽管通常它将> 64).这样做会有什么优势/优化?

java stringbuilder buffer stringbuffer

4
推荐指数
1
解决办法
8334
查看次数

将多行JTextArea写入txt文件

所以我有一个JTextArea用户输入,然后当他们点击一个按钮,它将它写入文本文件,我有两个setLineWrapsetWrapStyleWord设置trueJTextArea.

我想写文本文件在文本框中显示的确切方式.

我试图replace("\n", System.getProperty("line.separator"))String保持JTextArea其工作的内容上做一个,但是只有当用户在键入输入时实际点击返回键时,但是如果用户只是继续键入并命中一行的结尾,那么它跳转到它下面的线,replace不起作用.

我也试过使用a StringBuffer,我计算了在线上适合多少个字符,然后在for loop inserting每一行的末尾运行一个新行,所以对于第一行我会将它添加到位置90,第二行180,第三行270等等.但我很快意识到,并非在所有情况下工作,因为有些字符是比别人例如,你可以容纳下更多的小j'上比单一线S p的.

我想做的只是想办法计算一行的结尾,这样我才知道insert新行的位置,但我也对其他建议持开放态度.谢谢.如果你认为看到我的一些代码就会有所帮助.

更新 而不是实现代码来执行此操作,我与那些将成为使用此程序的唯一人之一的人进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在他的word中检查了wordWrap然后,记事本格式设置将消除他必须使用侧滚动以读取整行,感谢您的输入

java swing stringbuffer jtextarea filewriter

4
推荐指数
1
解决办法
671
查看次数

StringBuffer如何与.append一起使用

我正在做一个计算机科学项目,我需要合并StringBuffers.我需要帮助什么.append做和什么连接意味着什么.有人告诉我,我可以告诉谁是(我的游戏)的赢家,通过使用.append具有StringBuffer.

  public static void winner ()
  {
    if (position1 >= 100){
      System.out.println("THE WINNER IS " + name1); 
    }
    else if (position2 >= 100){
      System.out.println("THE WINNER IS " + name2); 
    }
  }
Run Code Online (Sandbox Code Playgroud)

我可以用StringBuffer输出赢得比赛的人来代替名字作为字符串吗?

java string-concatenation stringbuffer

4
推荐指数
1
解决办法
1万
查看次数

删除android中的html标签

我有以下XML feed:

<Description>
  <p>Touch, tap, flip, slide! You don&#39;t just read Books, you experience it.</p>
</Description>
Run Code Online (Sandbox Code Playgroud)

在这里,我必须显示如下的描述

触摸,点击,翻页,滑动!你不能阅读书籍,你会体验到它.

在这里,我处理了解析器,如:

   public static String removeHTML(String htmlString)
  {
  // Remove HTML tag from java String    
String noHTMLString = htmlString.replaceAll("\\<.*?\\>", "");

// Remove Carriage return from java String
noHTMLString = noHTMLString.replaceAll("\r", "<br/>");
noHTMLString = noHTMLString.replaceAll("<([bip])>.*?</\1>", "");
// Remove New line from java string and replace html break
noHTMLString = noHTMLString.replaceAll("\n", " ");
noHTMLString = noHTMLString.replaceAll("\"", "&quot;");
noHTMLString = noHTMLString.replaceAll("<(.*?)\\>"," ");//Removes all items in brackets …
Run Code Online (Sandbox Code Playgroud)

html java android stringbuffer xml-parsing

4
推荐指数
3
解决办法
1万
查看次数

需要澄清最终的StringBuffer对象

通常,如果一个变量被声明为final,我们就不能覆盖该变量的值,但是当我们使用字符串缓冲区时这并不好.有人能让我知道为什么吗?

以下代码有效!!!!!!

  public static void main(String args[]) {
        final StringBuffer a=new StringBuffer("Hello");
        a.append("Welcome");
        System.out.println(a);
    }
Run Code Online (Sandbox Code Playgroud)

输出:

你好,欢迎

java final stringbuffer

4
推荐指数
1
解决办法
3813
查看次数

空指针访问:该变量在此位置只能为空

for(int i=0;i<n;i++){
  for(int j=0;j<26;j++){
    if(str.charAt(i)== strChar.charAt(j) )
    * strSet1.append(str.charAt(i));
  }
    * strSet2.append(str.charAt(i));
}
Run Code Online (Sandbox Code Playgroud)

例外:

Exception in thread "main" java.lang.NullPointerException
  at AterSeries.main(AterSeries.java:33)
Run Code Online (Sandbox Code Playgroud)

为什么这段代码给出了空指针异常

警告:空指针访问:变量strSet1在此位置只能为空Null指针访问:变量strSet2在此位置只能为null

java stringbuffer nullpointerexception

4
推荐指数
1
解决办法
1万
查看次数

String vs StringBuffer返回值

能否请您解释为什么在下面的代码StringStringBuffer区别对待,当价值被附加StringBuffer,但不是在字符串。

public class MyClass {

    public static void main(String args[]) {
        String str = new String("String Rohan ");
    StringBuffer strBfr = new StringBuffer("String Buffer Rohan "); 

        strUpdate(str);
        strBfrUpdate(strBfr);

        System.out.println(str);
        System.out.println(strBfr);

    }

    private static void strBfrUpdate(StringBuffer strBfr){
        strBfr.append("Kushwaha");
    }

    private static void  strUpdate(String str){
        str += "Kushwaha";
    }
}
Run Code Online (Sandbox Code Playgroud)

输出如下:

串罗汉

字符串缓冲区Rohan Kushwaha

java string stringbuffer

4
推荐指数
1
解决办法
851
查看次数

用String替换StringBuffer / StringBuilder

为什么NetBeans的建议我更换StringBuffer/ StringBuilder通过String

当我写时,它向我显示警告消息:

StringBuilder demo = new StringBuilder("Hello");
Run Code Online (Sandbox Code Playgroud)

java string stringbuilder netbeans stringbuffer

4
推荐指数
1
解决办法
1828
查看次数

StringBuilder.append的性能

建议使用(PMD规则AppendCharacterWithChar)StringBuilder.append(char)代替StringBuilder.append(String).我同意这一点.

但是,如果我想附加一个(短)字符串,"='"或者"</"正在使用

StringBuilder.append('=').append('\'')
Run Code Online (Sandbox Code Playgroud)

更好(更快)比

StringBuilder.append("='")
Run Code Online (Sandbox Code Playgroud)

java string performance stringbuffer

4
推荐指数
1
解决办法
531
查看次数