在 Android APP 開發中使用 SQLite 時,若直接對未初始化的 ArrayList 進行操作(如傳遞給 Adapter),會拋出 NullPointerException,導致應用崩潰。
// 錯誤示範
ArrayList<String> dataList; // 僅宣告,未初始化
// ... 查詢資料庫 ...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList); // 此處拋出 NPE
在 new ArrayAdapter 之前,務必先實例化 dataList:
// 正確寫法
ArrayList<String> dataList = new ArrayList<>(); // 關鍵:初始化
// ... 查詢資料庫並 add 進 dataList ...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
private List<String> dataList = new ArrayList<>();Objects.requireNonNull() 或 Kotlin 的非空類型機制在編譯期攔截風險。