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
datatrybuilder.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]