0

I am getting the values from arraylist arr and storing those values in a string with comma separator. But for the last value also comma is adding. How can I remove that? Please help me...

My Code:

ArrayList<String> arr;  
String str;

    for (int i = 0; i < arr.size(); i++) {

                int kk = arr.size();
                System.out.println("splitting test" + arr.get(i));
                str += arr.get(i) + ",";

                System.out.println("result" + str);


            }
4

7 に答える 7

1

まったく追加しないでください。

ArrayList<String> arr;  
String str;

for (int i = 0; i < arr.size(); i++) {
   int kk = arr.size();
   System.out.println("splitting test" + arr.get(i));
   str += arr.get(i);
   if (i + 1 != arr.size()) {
     str+= ",";
   }
   System.out.println("result" + str);
}
于 2012-04-18T09:42:37.090 に答える
1

What about this:

StringBuilder builder = new StringBuilder();
for(Object item : arrayOrIterable) builder.append(item).append(",");
String result = builder.deleteCharAt(builder.length() - 1).toString();
于 2012-04-18T20:28:37.547 に答える
0

試す:

str.substring(0, str.length()-1);
于 2012-04-18T09:42:34.157 に答える
0

これを試してみれば、うまくいくはずだと思います。

ArrayList<String> arr;  
String str;

    for (int i = 0; i < arr.size(); i++) {

                int kk = arr.size();
                System.out.println("splitting test" + arr.get(i));
                str += arr.get(i) + i!=arr.size()-1?"":",";

                System.out.println("result" + str);


            }
于 2012-04-18T09:42:48.753 に答える
0

You can always write like this.

String str;

        for (int i = 0; i < arr.size(); i++) {

            int kk = arr.size();
            System.out.println("splitting test" + arr.get(i));
            // It is your old code str += arr.get(i) + ",";
            // Insted write like this

            str += arr.get(i);
            if (i < arr.size() - 1) {
                str += ",";
            }
            System.out.println("result" + str);
        }
于 2012-04-18T09:45:39.003 に答える
0

add one condition in for loop

if(i == arr.size()-1)
{
    str += arr.get(i);
}
else
{
   str += arr.get(i) + ",";

}
于 2012-04-18T09:45:45.437 に答える
0

You have to pass array list to this function. it will return comma separated values.

public static <T> String getReasonArray(Collection<T> values) {
    if (values == null || values.isEmpty()) return "";
    StringBuilder result = new StringBuilder();
    for (T val : values) {
        result.append(val);
        result.append(",");
    }
    return result.substring(0, result.length() - 1);
}
于 2017-10-26T08:32:08.103 に答える