Appending with StringBuilder

纵然是瞬间 提交于 2019-11-29 03:58:33
StringBuilder sb = new StringBuilder();
sb.deleteCharAt(sb.length()-1) 

Or in your code, use

StringBuilder sb = new StringBuilder();

for(int  i =0;i<list.size();i++)
{
    String prefix = "";
    for (String str : list)
    { 
        sb.append(prefix);
        prefix = ",";
        sb.append(str);  
    }
}

String sel_cat = sb;

You can put the condition to check:

for (String str : list)
{
   sb.append(str.toString());
   if (i!=list.size()-1)
   {
     sb.append(",");
   }
}
Rajan1404930

You can put your string array in condition:

String list[]=new String[]{"A","C","D","F"};

public String print(String arr[]){

    StringBuilder sb = new StringBuilder();
    String prefix = "";
    for (String str : arr)
    { 
        sb.append(prefix);
        prefix = ",";
        sb.append(str);  
    }

    System.out.println("WithCommas"+sb);
    return sb;
}

You can use deleteCharAt:

StringBuilder sb = new StringBuilder();
for(int  i =0;i<list.size();i++)
{
    for (String str : list)
    {  
        sb.append(str); // str is already a String, no need for toString()
        sb.append(",");
    }
}
if (sb.length() > 0) {
    sb.deleteCharAt(sb.length()-1);
}
String sel_cat=sb;
John Sobolewski

Another option is to look at StringUtils#join(Object\[\], String, int, int):

there is a join method which can take an array and put it together with a delimeter...

ex:

 StringUtils.join([null, "", "a"], ',')   // creates... ",,a"
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ScrollView;
import android.widget.TimePicker;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!