Java 使用字符串缓冲区从ArrayList获取单行或双线中的字符串

Java 使用字符串缓冲区从ArrayList获取单行或双线中的字符串,java,android,string,stringbuilder,Java,Android,String,Stringbuilder,我有一个ArrayList,其中包含一些元素,我正在使用字符串缓冲区来获取字符串。但是,当我打印字符串时,我得到的是无组织的行。我想坐单线或双线 ArrayList<String> mCombinedList; // it contains some value I have already instantiate it StringBuilder builder = new StringBuilder(); for (String singleLine :

我有一个
ArrayList
,其中包含一些元素,我正在使用字符串缓冲区来获取字符串。但是,当我打印字符串时,我得到的是无组织的行。我想坐单线或双线

  ArrayList<String> mCombinedList; // it contains some value I have already instantiate it  
    StringBuilder builder = new StringBuilder();
    for (String singleLine : mCombinedList) {
        if (builder.length() > 0) {
            builder.append(" ");
        }
        builder.append(singleLine);

        }
    String string = builder.toString();
    Log.e(TAG, "string builder "  +string );
ArrayList mCombinedList;//它包含一些我已经实例化过的值
StringBuilder=新的StringBuilder();
for(字符串单行:mCombinedList){
如果(builder.length()>0){
生成器。追加(“”);
}
builder.append(单线);
}

String=builder.toString(); Log.e(标签,“字符串生成器”+字符串);
在实现了这段代码之后,我在日志中得到了这个结果

abdul jani 456 Friend User 3 721015*** Friend 阿卜杜勒·贾尼 456 好友用户3 721015*** 朋友 **mCombinedList的ArrayList值**

[ abdul jani 456 Friend, User 3 721015*** Friend] [阿卜杜勒·贾尼 456 朋友,用户3 721015*** [朋友]
在使用StringBuilder构建字符串的最后阶段,收集完所有字符串后,只需调用此正则表达式即可删除所有大于2的空格,这将清除由于源arraylist中的空字符串而引入的所有额外空格

String string = builder.toString().replaceAll("\\s{2,}", " ").trim();

您正在通过
builder.append(“”)添加大量空格。使用
ArrayList.toString()
将解决您的问题

package com.test;

import java.util.ArrayList;

public class ListToString {

    public static void main(String[] args) {
        ArrayList<String> mCombinedList = new ArrayList<>();
        mCombinedList.add("abdul jani");
        mCombinedList.add("456");
        mCombinedList.add("Friend");
        mCombinedList.add("User");
        mCombinedList.add("3");
        mCombinedList.add("721015****");
        mCombinedList.add("Friend");

        String string = mCombinedList.toString();
        //System.out.println(string);
        Log.e(TAG, "string builder "  +string );
    }

}

显示您的
mCombinedList
datatry
builder.append(singleLine.trim())@rafid059我尝试过但没有得到任何帮助是否有空字符串或mCombinedList中仅包含空格的字符串?然后你应该过滤掉它们。它的
ArrayList
不是
ArraList
请在这个答案上展开,解释它的工作原理,但如何在项目之间添加逗号。String String=builder.toString().replaceAll(“\\s{2,},”,”).trim();我得到了abdul jani,456,朋友用户3721015***,在代码中添加逗号后的朋友这不是你所需要的吗?
[abdul jani, 456, Friend, User, 3, 721015****, Friend]