2015-08-23 17 views
2

帶數字的SQLite整列轉換爲純int,因爲我想執行計算。如何獲取SQLite的一列數據爲純int?

我得到一個整體的數據從數據轉換一列ArrayList<String>和有沒有更簡單的方法來做到這一點,而不是步:ArrayList<String> - >ArrayList<int> - >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; 
} 
+5

如果是整數列,請使用'ArrayList '並使用'cursor.getInt(0)'代替。 – Karakuri

+0

您可以在數據庫中執行計算,並以整數形式獲得計算結果。 –

回答

1

因爲int是基本類型和ArrayList只需要對象不能創建一個ArrayList<int>但你可以創建一個ArrayList<Integer>。在這種情況下,請用cursor.getInt()讀出數值。如果您需要一個原始數組int[],您可以創建一個int[]數組,大小爲cursor.getCount(),或者通過迭代ArrayList,然後將每個項目放入一個大小爲ArrayList.size()的數組中。如果它不是整數列,並且您確定它可以轉換爲int,則使用parseInt(cursor.getString())

相關問題