String和String []之间的区别

时间:2014-10-22 15:51:43

标签: java android string

我正在尝试将字符串添加到android

中的csv文件中

根据语法要求添加String [],但我添加了以下行

String [] s1;    
s1=c2.getString(c2.getColumnIndex("Sname"));

从cursot中重新获取值并将其存储在s1

上面一行给我error

Type mismatch: cannot convert from String to String[]

专家请解释一下String and String[]之间的区别..我如何转换为String[]

我是android和java的新手..如果它是一个基本问题,请道歉。

感谢您的时间

编辑.....................................

我能够存储但无法存储在csv类的writeline中。

CSVWriter export=new CSVWriter(new FileWriter("/sdcard/"+stock+".csv"));
export.writeAll(s1, true);

错误:

The method writeAll(List<String[]>, boolean) in the type CSVWriter is not applicable for the arguments (String[], boolean)

2 个答案:

答案 0 :(得分:5)

String是单个String对象String []是String对象的数组。问题是您正在尝试将String对象添加到String数组而不指定索引。

您可以执行以下操作:

String [] s1 = new String[1];    
s1[0]=c2.getString(c2.getColumnIndex("Sname"));

只是一个示例,或者您可以只创建一个String对象而不是String数组:

String s1;    
s1=c2.getString(c2.getColumnIndex("Sname"));

基本上,如果要使用数组,则必须指定该数组的索引来存储对象,因为数组中存储了多个对象,每个对象都有自己的索引。

尝试这样做:

ArrayList<String[]> csvExport = new ArrayList<String[]>();
csvExport.add(s1);
CSVWriter export=new CSVWriter(new FileWriter("/sdcard/"+stock+".csv"));
export.writeAll(csvExport, true);

这只会在csv文件中添加一行。如果你想要多行,你需要创建多个String []并将每个String []添加到你的ArrayList csvExport。

将String []数组视为您的列,例如:

String[] columnNames = new String[2];

columnNames[0] = "ID";
columnNames[1] = "Name";

String[] person1 = new String[2];

person1[0] = "1";
person1[1] = "George";

ArrayList<String[]> csvExport = new ArrayList<String[]>();
csvExport.add(columnNames);
csvExport.add(person1);
CSVWriter export=new CSVWriter(new FileWriter("/sdcard/"+stock+".csv"));
export.writeAll(csvExport, true);

上面的代码会给你一个像这样的csv文件:

ID名称

1乔治

答案 1 :(得分:-1)

您正在尝试将String分配给String对象数组,这将无效。您可以像这样声明一个String:

String str = c1.getString(c2.getColumnIndex("Sname"));

或者您可以将String分配给String对象数组中的索引,这样就行了,但是我没有看到在这里使用数组的原因。

String [] strArray = new String[5]; // String array of length 5

strArray[0] = c1.getString(c2.getColumnIndex("Sname")); // set the first element in the array to reference a String object