String和String []之间的区别

Siv*_*iva -4 java string android

我试图将字符串添加到android中的csv文件

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

String [] s1;    
s1=c2.getString(c2.getColumnIndex("Sname"));
Run Code Online (Sandbox Code Playgroud)

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

上面给我的线 String and String[]

Type mismatch: cannot convert from String to String[]
Run Code Online (Sandbox Code Playgroud)

专家请解释我之间的区别String[]..还有什么我可以转换为writeline

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

谢谢你的时间

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

我能够存储但无法存储String []csv类.

CSVWriter export=new CSVWriter(new FileWriter("/sdcard/"+stock+".csv"));
export.writeAll(s1, true);
Run Code Online (Sandbox Code Playgroud)

错误:

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

brs*_*o05 5

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

你可以这样做:

String [] s1 = new String[1];    
s1[0]=c2.getString(c2.getColumnIndex("Sname"));
Run Code Online (Sandbox Code Playgroud)

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

String s1;    
s1=c2.getString(c2.getColumnIndex("Sname"));
Run Code Online (Sandbox Code Playgroud)

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

试着这样做:

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

这只会在你的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);
Run Code Online (Sandbox Code Playgroud)

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

ID名称

1乔治