如何将arraylist转换为字符串数组,双引号中的所有项目

时间:2013-08-13 07:29:06

标签: java android string arraylist arrays

在我的应用程序中,我遇到了问题.. 我从服务器获取数据到ArrayList。但是我无法将该列表转换为String数组,其中所有数据项都是双引号。

获取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 dataarea1转换为像这样的StringArray ..

String[] colours = { "Red", "Green", "Blue", "Yellow", "Orange", "Purple" };

我希望以这种形式转换我的arraylist,但现在只转换为单引号.... 如果有人可以告诉我如何在Stringarray中转换arraylist与double qoute中的所有数据项

现在我使用此代码获取字符串数组

public String GetName()
     {
         String colour = "";
            for (int i = 0; i < dataarea3.size(); i++) {
                colour += ""+ dataarea3.get(i).toString() +"'"+ ",";

            }
            return colour;
     }   

但是这里的所有项目都放在单引号中........我怎么能把它们放在双引号中

6 个答案:

答案 0 :(得分:2)

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

public String GetName(){

     String colour = "";

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

        }
        return colour;
 }   

答案 1 :(得分: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";
         }

答案 2 :(得分: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]);
}

答案 3 :(得分:0)

使用guava Iterables.toArray它简单而有效。

答案 4 :(得分:0)

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

"\""

另外,不要在字符串上使用+ =,使用StringBuilder / StringBuffer连接很多字符串

答案 5 :(得分:0)

如果你需要在每个String的前面和末尾添加“just add”字符串。

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;
}