Java 如何将stringbuffer存储到字符串数组中?

Java 如何将stringbuffer存储到字符串数组中?,java,arrays,sqlite,android-listview,stringbuffer,Java,Arrays,Sqlite,Android Listview,Stringbuffer,嗨,我正在读取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: "+st

嗨,我正在读取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时间:12:13
学生:1234时间:12:14
学生:1234时间:12:15

我想像这样存储字符串缓冲区
值[0]=学生:1234时间:12:13
数值[1]=学生:1234时间:12:14
数值[2]=学生:1234时间:12:15

我尝试了下面的编码,但它不工作

String[] values = data.split("");
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
String[]value=data.split(“”);
对于(int i=0;i

有没有办法做到这一点。提前感谢。

您可以尝试用以下内容替换拆分通话:

String[] values = data.split("\n");

您可以尝试用以下内容替换拆分呼叫:

String[] values = data.split("\n");

您可以尝试用以下内容替换拆分呼叫:

String[] values = data.split("\n");

您可以尝试用以下内容替换拆分呼叫:

String[] values = data.split("\n");

您似乎正在将数据添加到缓冲区中,并在末尾添加了新行分隔符。拆分它们应该如下所示:
data.split(“\n”)

然而,这似乎不是一个好主意。主要是因为您可以拥有非常大的数据集,而拆分是一项昂贵的操作

为什么不创建一个
ArrayList
并调用
列表。添加(“学生:+studentno+”时间:+date)
或其他更有效的结构

代码:

List<String> list = new ArrayList<String>();

String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
List List=new ArrayList();
String studentno=cursor.getString(1);
字符串日期=cursor.getString(2);
添加(“学生:+studentno+”时间:+date);

您似乎在将数据添加到缓冲区中,并在末尾添加了新行分隔符。拆分它们应该如下所示:
data.split(“\n”)

然而,这似乎不是一个好主意。主要是因为您可以拥有非常大的数据集,而拆分是一项昂贵的操作

为什么不创建一个
ArrayList
并调用
列表。添加(“学生:+studentno+”时间:+date)
或其他更有效的结构

代码:

List<String> list = new ArrayList<String>();

String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
List List=new ArrayList();
String studentno=cursor.getString(1);
字符串日期=cursor.getString(2);
添加(“学生:+studentno+”时间:+date);

您似乎在将数据添加到缓冲区中,并在末尾添加了新行分隔符。拆分它们应该如下所示:
data.split(“\n”)

然而,这似乎不是一个好主意。主要是因为您可以拥有非常大的数据集,而拆分是一项昂贵的操作

为什么不创建一个
ArrayList
并调用
列表。添加(“学生:+studentno+”时间:+date)
或其他更有效的结构

代码:

List<String> list = new ArrayList<String>();

String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
List List=new ArrayList();
String studentno=cursor.getString(1);
字符串日期=cursor.getString(2);
添加(“学生:+studentno+”时间:+date);

您似乎在将数据添加到缓冲区中,并在末尾添加了新行分隔符。拆分它们应该如下所示:
data.split(“\n”)

然而,这似乎不是一个好主意。主要是因为您可以拥有非常大的数据集,而拆分是一项昂贵的操作

为什么不创建一个
ArrayList
并调用
列表。添加(“学生:+studentno+”时间:+date)
或其他更有效的结构

代码:

List<String> list = new ArrayList<String>();

String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
List List=new ArrayList();
String studentno=cursor.getString(1);
字符串日期=cursor.getString(2);
添加(“学生:+studentno+”时间:+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++;
}
String[]arr=新字符串[…];
整数计数=0;
while(cursor.next()&&count
这毫无意义。如果要将数据存储在数组中,首先不要将其存储在
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++;
}
String[]arr=新字符串[…];
整数计数=0;
while(cursor.next()&&count
这毫无意义。如果要将数据存储在数组中,首先不要将其存储在
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++;
}
String[]arr=新字符串[…];
整数计数=0;
while(cursor.next()&&count
这毫无意义。如果要将数据存储在数组中,首先不要将其存储在
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++;
}
String[]arr=新字符串[…];
整数计数=0;
while(cursor.next()&&count
你怎么能详细解释我。我使用了data.split(“\n”);现在可以用了。但是我不知道字符串数组的大小。我们不能给出预定义的大小。我们不知道有多少数据将来自数据库。如何给出动态大小。如果我错了,请纠正我。@subramaniam在这种情况下,您可以将数据添加到ArrayList(其容量是动态的),然后使用toArray方法转换为数组。@Eran我也有同样的问题,您能解决它吗请……。您如何详细解释我