如何将SQLite一列数据转换为plain int?

时间:2015-08-23 18:46:42

标签: java android sqlite arraylist

带有数字的SQLite整列转换为普通int,因为我想执行计算。

我通过将数据转换为ArrayList<String>从一列中获取了整个数据,有没有更简单的方法来执行此操作而不是步骤:ArrayList<String> - &gt; ArrayList<int> - &gt; int

public ArrayList<String> GetAllValues(String aTable,String[] aColumn)
{
    SQLiteDatabase db = this.getWritableDatabase();
    ArrayList<String> list = new ArrayList<String>();
    Cursor cursor = db.query(aTable, aColumn, null, null, null, null, null);
    if (cursor.moveToFirst())
    {
        do
        {
            list.add(cursor.getString(0));
        }
        while (cursor.moveToNext());
    }
    if (cursor != null && !cursor.isClosed())
    {
        cursor.close();
    }

    return list;
}

1 个答案:

答案 0 :(得分:1)

由于int是基本类型且ArrayList只接受对象,因此您无法创建ArrayList<int>,但您可以创建ArrayList<Integer>。在这种情况下,使用cursor.getInt()读出值。如果您需要一个原始int[]数组,您可以只创建一个大小为int[]的{​​{1}}数组,或者之后迭代ArrayList并将每个项目放入一个大小为{1}的数组中。你的cursor.getCount()。如果它不是整数列,并且您确定可以将其转换为ArrayList.size()使用int