标签: stringbuilder

这种字符串操作好吗?

public string Format { get { return string.Format("{0}{1}v{1}", LastManStanding ? "FFA " : string.Empty, m_Teams.PlayersPerTeam); } }
Run Code Online (Sandbox Code Playgroud)

我应该选择使用StringBuilder吗?

我不确定有条件地格式化这样的字符串有多么错误,而不是做

public string Format 
{
    get
    {
        StringBuilder sb = new StringBuilder();

        if(LastManStanding)
            sb.Append("FFA ");

        sb.Append(string.Format("{0}v{0}", m_Teams.PlayersPerTeam);
        return sb.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string stringbuilder

2
推荐指数
1
解决办法
94
查看次数

StringBuilder.Append用于字符串数组?

说我有一个StringBuilder对象

var sb = new StringBuilder();
Run Code Online (Sandbox Code Playgroud)

还有一个串联的字符串

var s = new []{"a","b","c"};
Run Code Online (Sandbox Code Playgroud)

这是将它们插入stringbuilder实例的"最快"方法吗?

sb.Append(string.join(string.empty, s));
Run Code Online (Sandbox Code Playgroud)

或者确实StringBuilder有一个我忽略的功能?

编辑:对不起,我不知道sb将包含多少项,或每个字符串[]中可能有多少项.

c# stringbuilder

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

StringBuilder.AppendLine()不会创建新行

我发生错误时会生成一封电子邮件.我正在使用StringBuilder.AppendLine()StringBuilder.AppendLine(String)建立电子邮件的正文,但是我的电子邮件正文显示为一个非常长的行,没有换行符.

例如:

Dim ErrorsStringBuilder As New StringBuilder
ErrorsStringBuilder.AppendLine(String.Format("Status : {0}  Message : {1}", Results.Status, Results.ErrorMessage))
ErrorsStringBuilder.AppendLine(String.Format("Failed : {0}  Total : {1}", Results.FailedCount, Results.TotalCount))
ErrorsStringBuilder.AppendLine("Batch #: " & Results.BatchNumber)
ErrorsStringBuilder.AppendLine()
ErrorsStringBuilder.AppendLine("Individual Errors:")
ErrorsStringBuilder.AppendLine()
For Each FailedRecord .......
  ErrorsStringBuilder.AppendLine(String.Format("Failed Record ID : {0}  Message : {1}", FailedRecord.ID, FailedRecord.ErrorText))
Next
Run Code Online (Sandbox Code Playgroud)

这是从MSDN为了描述.AppendLine().AppendLine(String)分别.

将默认行终止符追加到当前StringBuilder对象的末尾.

将指定字符串的副本后跟默认行终止符附加到当前StringBuilder对象的末尾.

我的问题是:为什么没有换行?为什么没有应用默认行终止符?我误解了描述吗?

PS.我确实看过这个问题,但没有解释原因.

而且我知道我可以使用System.Environment.NewLine"\n"获取换行符.

.net vb.net string email stringbuilder

2
推荐指数
1
解决办法
8704
查看次数

如何以相反的顺序获取输入流的内容?

我正在使用txt文件进行我的关卡设计.我使用下面的内容并转换为字符串缓冲区,然后遍历这些行来生成我的游戏对象.

问题是它从上到下读取,因此我必须将我的水平设计为颠倒,以使它们正确.

如何更改流以相反的方式读取?或者以相反的方式将行写入String Builder?

 private static String convertStreamToString(InputStream is) {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append((line + "\n"));
            }
        } catch (IOException e) {
            Log.w("LOG", e.getMessage());
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                Log.w("LOG", e.getMessage());
            }
        }
        return sb.toString();
Run Code Online (Sandbox Code Playgroud)

java stringbuilder android bufferedreader

2
推荐指数
1
解决办法
1506
查看次数

将StringBuilder作为String JAVA返回

我可能会走很长的路,希望我可以在没有代码的情况下解释这一点,因为代码到处都是.

我想要的是一个字符串

static String locationOneStr = new String ("res/.png");
static StringBuilder locationOneStrBuilder = new StringBuilder(locationOneStr);
Run Code Online (Sandbox Code Playgroud)

它包含我想稍后调用的URL的基本形式.

稍后出现的代码会找到位于0或'locationOne'的数字,并且交换机会选择要使用的代码:如果是0,则在.png之前插入0,如果它是1,则插入1等.

public static StringBuilder locationOneNumber(StringBuilder forCharConv,  StringBuilder locationOneStrBuilder) {
    char localChar = forCharConv.charAt(0);
    switch (localChar) {
        case '0':
            BpmCalcFrame.locationOneStrBuilder.insert(3,"0");
            System.out.println("Zero");
            break;

        /*
        *
        * Other Cases Omitted 
        */

        default:
            System.out.println("There is no valid input!");
            break;
        }
    return;

}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是交换机必须返回一些东西.然而,我用作测试环境的jframe期望URL的字符串.

JLabel locationOne = new JLabel("Image 1");
    locationOne.setBackground(Color.WHITE);
    locationOne.setIcon(new ImageIcon(ArrayComparison.locationOneNumber(forCharConv, locationOneStrBuilder)));
    locationOne.setBounds(172, 45, 36, 68);
    contentPane.add(locationOne);
Run Code Online (Sandbox Code Playgroud)

我正在使用StringBuilder,因为Strings占用了内存,但是如果我必须将StringBuilder转换为String,那么它就无法使用StringBuilder

我是以错误的方式解决这个问题还是我真的必须转换回字符串?这意味着我将在整个程序的生命周期中平均每秒制作2个新对象.

有没有一种方法可以将StringBuilder的实例作为String而不创建新对象?

java string stringbuilder object

2
推荐指数
1
解决办法
1145
查看次数

StringBuilder反向方法的时间复杂度

我想找到StringBuilder反向方法的时间复杂度.这里是反向方法的源代码:

 public AbstractStringBuilder reverse() {
        boolean hasSurrogate = false;
        int n = count - 1;
        for (int j = (n-1) >> 1; j >= 0; --j) {
            char temp = value[j];
            char temp2 = value[n - j];
            if (!hasSurrogate) {
                hasSurrogate = (temp >= Character.MIN_SURROGATE && temp <= Character.MAX_SURROGATE)
                    || (temp2 >= Character.MIN_SURROGATE && temp2 <= Character.MAX_SURROGATE);
            }
            value[j] = temp2;
            value[n - j] = temp;
        }
        if (hasSurrogate) {
            // Reverse back all valid surrogate pairs
            for (int i …
Run Code Online (Sandbox Code Playgroud)

java algorithm stringbuilder reverse time-complexity

2
推荐指数
1
解决办法
5725
查看次数

Java中i +"abc"的类型

我在调用

sb.append(i+"\n");
Run Code Online (Sandbox Code Playgroud)

哪里

StringBuilder sb= new StringBuilder();
int i. 
Run Code Online (Sandbox Code Playgroud)

什么是i +"\n"转换到这里 - 一个String,一个StringBuffer,CharSequence,字符数组,......?

StringBuilderappend()每个接受一个param,它是一个Object,一个String,一个StringBuilder(这个是私有方法),一个StringBuffer,一个CharSequence参数,一个字符数组,...等等.我试图找出哪些被调用 - 希望避免调用String参数进行快速处理.

提前致谢.

java string stringbuilder

2
推荐指数
1
解决办法
356
查看次数

如何正确格式化字符串?

我有一条消息,我打印出实体名称及其计数.我用过StringBuilder课.我有这样的代码:

   message.AppendFormat("Items1:    {0}",item1count).AppendLine();
   message.AppendFormat("Items2Byb:    {0}",item2count).AppendLine();
   message.AppendFormat("Items3STCDEE:    {0}",item3count).AppendLine();
   message.AppendFormat("Items4HTECEEGG:    {0}",item4count).AppendLine();
   message.AppendFormat("ItemsASSTEC:    {0}",item5count).AppendLine();
Run Code Online (Sandbox Code Playgroud)

结果如下:

  Items1:         1
  Items2Byb:         3
  Items3STCDEE           5
Run Code Online (Sandbox Code Playgroud)

我想要的是正确对齐,无论项目名称的长度是多少:

      Items1:            1
      Items2Byb:         3
      Items3STCDEE       5
Run Code Online (Sandbox Code Playgroud)

c# stringbuilder string-formatting

2
推荐指数
1
解决办法
127
查看次数

如果我有足够的内存,我应该使用stringBuilder重写字符串concat吗?

我有以下代码行:

return ROOT_USER_IMAGE_PATH + File.separator + userId 
       + File.separator + nameWithoutExtension + "__" 
       + new SimpleDateFormat("yyyyMMddhhmm").format(new Date()) 
       + extension;
Run Code Online (Sandbox Code Playgroud)

在代码审查中,我的同事说我用它替换了它StringBuilder.

我知道它会更快地运行,但我认为这种增强功能绝对是次要的,没有人能够感受到它.

当我们有大量的记忆时,你认为在现代情况下鲤鱼和这样的未成年人有什么意义?

java string stringbuilder stringbuffer

2
推荐指数
1
解决办法
96
查看次数

如何在同一个类中将splitbuilder与splitbuilder一起使用?

StringBuilder隐藏元音:

String bienvenue_intro = " Welcome! Java First Semester: 455, java street: City (State): Country: 575757 ";
StringBuilder sb = new StringBuilder(bienvenue_intro);
String[] introduction = bienvenue_intro.split(":"); 
for (int i = 0; i < bienvenue_intro.length(); i++) {
    char c = bienvenue_intro.charAt(i);
    if ((c == 'A') || (c == 'a') ||
        (c == 'E') || (c == 'e') ||
        (c == 'I') || (c == 'i') ||
        (c == 'O') || (c == 'o') ||
        (c == 'U') || (c == 'u')) …
Run Code Online (Sandbox Code Playgroud)

java stringbuilder split

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