如何将ArrayList转换为包含所有项的双引号的字符串数组

3

在我的应用程序中,我遇到了一个问题。我从服务器获取数据并存储在ArrayList中,但是我无法将该列表转换为字符串数组,其中所有数据项都用双引号括起来。

我获取ArrayList的代码如下:

public ArrayList<String> dataarea1(){   

        ArrayList<String>dataarea1=new ArrayList<String>();
        try{
        Statement smt=mycon.connection().createStatement();
        rs=smt.executeQuery("DCRAREADDL "+ paid +",'','','',''");

        while(rs.next())
        {
            dataarea1.add(rs.getString("AREA"));
        }
        }catch(Exception e){
            e.printStackTrace();
        }
        return dataarea1;
    }

现在我想把我的ArrayList数据区1转换为一个StringArray,就像这样...
String[] colours = { "Red", "Green", "Blue", "Yellow", "Orange", "Purple" };

我希望您能帮助我将我的ArrayList转换为以下格式,但现在它只能转换为单引号... 如果有人可以告诉我如何将ArrayList转换为包含所有数据项的双引号字符串数组
public String GetName()
     {
         String colour = "";
            for (int i = 0; i < dataarea3.size(); i++) {
                colour += ""+ dataarea3.get(i).toString() +"'"+ ",";

            }
            return colour;
     }   

但是这里所有的项目都放在单引号中......我该如何将它们放在双引号中


1
为什么你的应用程序不能使用ArrayList? - Raghunandan
双引号中的数据项是什么意思?是为了在显示器上显示它们吗? - Cygnus
你想要移除引号字符吗? - S.D.
1
为什么你需要双引号? - Armaan Stranger
6个回答

2

以下是修改后的函数。您可以使用反斜杠("\")来放置引号。

public String GetName() {

     String colour = "";

        for (int i = 0; i < dataarea3.size(); i++) {
            colour += "\""+ dataarea3.get(i).toString() +"\"" + ",";

        }
        return colour;
 }   

1
考虑使用以下代码将 ArrayList 转换为 String 数组
public void ConvertArrayListToarray()
        {
            ArrayList myArrayList = new ArrayList();
            myArrayList.Add("Jhon");
            myArrayList.Add("Jill");
            myArrayList.Add("Jo");
            myArrayList.Add("Chris");

            String[] myArray = (String[])myArrayList.ToArray(typeof(string));
            string str = string.Empty;
            for (int i = 0; i < myArray.Length; i++)
                           str += myArray[i] + "\n";
         }

0
ArrayList<String>  dataarea1= new ArrayList<String>();
dataarea1.add("ann");
dataarea1.add("john");
String[] mStringArray = new String[dataarea1.size()];
mStringArray = dataarea1.toArray(mStringArray);

for(int i = 0; i < mStringArray.length ; i++){
    Log.d("string is",(mStringArray[i]);
}

0

如果你需要将所有字符串用 " 包含起来,只需在每个字符串前面和后面加上 \ 即可。

static String[] convertToArray(List<String> list){
    String[] output = new String[list.size()];

    StringBuilder builder;
    for(int i=0;i<list.size();i++){
        builder = new StringBuilder();
        builder.append("\"");
        builder.append(list.get(i));
        builder.append("\"");
        output[i] = builder.toString();
    }

    return output;
}

0

0
您可以使用 org.apache.commons.lang.StringUtils.join 或转义双引号。
"\""

此外,在字符串上不要使用 +=,而应该使用 StringBuilder/StringBuffer 来连接大量的字符串。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接