如何将 stringbuffer 存储到字符串数组中?
How to store stringbuffer into string array?
您好,我正在读取 sqlite 数据库数据并将其存储到字符串缓冲区中。我想在 android 中的列表视图中显示它。我面临的问题不大。请帮我解决这个问题。
String studentno=cursor.getString(1);
String date=cursor.getString(2);
buffer.append("student: "+studentno+" Time:"+date+"\n");
String data=buffer.toString();
Log.d("student: "+studentno+" Time:"+date);
输出为:student: 1234 Time:12:13
student: 1234 Time:12:14
student: 1234 Time:12:15
我想像这样存储字符串缓冲区
values[0]=student: 1234 Time:12:13
values[1]=student: 1234 Time:12:14
values[2]=student: 1234 Time:12:15
我尝试了以下编码,但它不起作用。
String[] values = data.split("");
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
有什么办法可以做到这一点。提前致谢。
你可以尝试用这个替换你的拆分调用:
String[] values = data.split("\n");
您似乎是在将数据添加到末尾带有换行符的缓冲区中。拆分它们应该是这样的:data.split("\n");
然而,这似乎不是一个好主意。主要是因为你可以有一个非常大的数据集,分割是一个昂贵的操作。
为什么不创建一个 ArrayList<String>
并调用 list.add("student: " + studentno + " Time: " + date)
或其他更高效的结构?
代码:
List<String> list = new ArrayList<String>();
String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
这毫无意义。如果要将数据存储在数组中,首先不要将其存储在 StringBuffer
中。直接存入数组。
您必须有一些循环来读取数据:
String[] arr = new String [...];
int count = 0;
while (cursor.next() && count < arr.length) {
String studentno=cursor.getString(1);
String date=cursor.getString(2);
arr[count] = "student: "+studentno+" Time:"+date+"\n";
count++;
}
您好,我正在读取 sqlite 数据库数据并将其存储到字符串缓冲区中。我想在 android 中的列表视图中显示它。我面临的问题不大。请帮我解决这个问题。
String studentno=cursor.getString(1);
String date=cursor.getString(2);
buffer.append("student: "+studentno+" Time:"+date+"\n");
String data=buffer.toString();
Log.d("student: "+studentno+" Time:"+date);
输出为:student: 1234 Time:12:13
student: 1234 Time:12:14
student: 1234 Time:12:15
我想像这样存储字符串缓冲区
values[0]=student: 1234 Time:12:13
values[1]=student: 1234 Time:12:14
values[2]=student: 1234 Time:12:15
我尝试了以下编码,但它不起作用。
String[] values = data.split("");
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
有什么办法可以做到这一点。提前致谢。
你可以尝试用这个替换你的拆分调用:
String[] values = data.split("\n");
您似乎是在将数据添加到末尾带有换行符的缓冲区中。拆分它们应该是这样的:data.split("\n");
然而,这似乎不是一个好主意。主要是因为你可以有一个非常大的数据集,分割是一个昂贵的操作。
为什么不创建一个 ArrayList<String>
并调用 list.add("student: " + studentno + " Time: " + date)
或其他更高效的结构?
代码:
List<String> list = new ArrayList<String>();
String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
这毫无意义。如果要将数据存储在数组中,首先不要将其存储在 StringBuffer
中。直接存入数组。
您必须有一些循环来读取数据:
String[] arr = new String [...];
int count = 0;
while (cursor.next() && count < arr.length) {
String studentno=cursor.getString(1);
String date=cursor.getString(2);
arr[count] = "student: "+studentno+" Time:"+date+"\n";
count++;
}