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