在我的应用程序中,我遇到了问题.. 我从服务器获取数据到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;
}
但是这里的所有项目都放在单引号中........我怎么能把它们放在双引号中
答案 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;
}