如何在Java中将String输出存储到数组中

时间:2017-08-27 06:17:03

标签: java android arrays

我正在获取此c.getString(0)方法的字符串输出。我想知道如何将此输出存储到Java中的数组中?这个c.getString(0)方法是在while循环中。每次while循环运行时,我都希望存储使用c.getString(0)方法获得的值以存储在数组中。我怎样才能做到这一点?

private void showList() {

    DataBaseHelper db = new DataBaseHelper(this);
        db.open();
    c = db.retriveall();
    if (c.moveToFirst()) {
        do {
            Toast.makeText(MainActivity.this,
                    "_id: " + c.getString(0) + "\n",
                    Toast.LENGTH_LONG).show();
        } while (c.moveToNext());
    }

}

现在我要向它展示一个祝酒词。而不是显示我想将它存储到数组。请帮帮我

4 个答案:

答案 0 :(得分:2)

要存储数据,您可以执行以下操作:

  • 如果您知道项目数,请使用字符串数组。
  • 如果您不知道项目数,请使用String ArrayList。

如果您正在使用该数组,则声明String数组

String arr[]=new String[numberOfItems];

然后每次迭代循环时写:

arr[position++]=c.getString(position);

现在,如果您正在使用Array List,则声明Array List:

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

然后每次循环遍历循环:

list.add(c.getString(position));

在此之后获取元素,您可以编写一个foreach循环。

for(String ele: list){
   Toast.makeText(context,ele,Toast.LENGTH_SORT).show();
}

答案 1 :(得分:1)

使用ArrayList。它们是动态的,即不需要初始长度。使用ArrayList.add()方法向ArrayList添加元素,如果需要,可使用ArrayList.toArray()获取数组。 来自官方文档here的更多信息。

答案 2 :(得分:0)

创建一个全局变量,如

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

在循环中,您可以添加此代码

list.add(c.getString(0));

稍后您可以使用list.toArray()方法将其转换为数组。

如果您想按字符方式存储String值,请使用toCharArray()方法。

答案 3 :(得分:0)

您可以使用以下代码:

List<String> globalList = new ArrayList<String>();
private void showList() {

DataBaseHelper db = new DataBaseHelper(this);
    db.open();
c = db.retriveall();
if (c.moveToFirst()) {
    do {
        Toast.makeText(MainActivity.this,
                "_id: " + c.getString(0) + "\n",
                Toast.LENGTH_LONG).show();
        globalList.add(c.getString(0)) ;
    } while (c.moveToNext());
}

String [] a = globalList.toArray(new String[globalList.size()]);

}