java - 如何将字符串缓冲区存储到字符串数组中?

标签 java arrays sqlite android-listview stringbuffer

嗨,我正在读取 sqlite 数据库数据并将其存储到字符串缓冲区中。我想在android中的 ListView 中显示它。我面临着小问题。请帮我解决这个问题。

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);

输出是:学生: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]);
}

有什么办法可以做到这一点吗?提前致谢。

最佳答案

您似乎正在将数据添加到缓冲区中,并在末尾添加新的行分隔符。拆分它们应该如下所示: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);

关于java - 如何将字符串缓冲区存储到字符串数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29010437/

相关文章:

java - 不兼容类型 : String cannot be converted to File

java - 无法使用 javax.smartcardio.CardTerminal connect() 方法连接 Android HCE

c - C 中合法或不合法

java - 如何将数组与重复项作为集合进行比较?

java - Android SQLite 中的 WHERE 子句

java - SQLite db 高分表无法正确插入和排序 - Android

Java switch - 不同的条件运算符

java - java 中的整个 try/catch 语句需要大括号吗?真的很奇怪的东西

javascript - 如何使用 Javascript 从关联数组中获取值

java - 在 Java Android 中加载外部 JSON 文件