首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

精簡 Android SharedPreferences 讀取代碼:移除冗餘判斷邏輯

     編輯:程式設計綜合問答

讀取 SharedPreferences 時,常見寫法是多層 if-else 判斷數值並指派預設值,實際上可大幅簡化。

原始冗長代碼

if (prefsDisplay.getInt("spinnerSelection", 0) == 0) { s1 = 0; }
else if (prefsDisplay.getInt("spinnerSelection", 0) == 1) { s1 = 1; }
else if (prefsDisplay.getInt("spinnerSelection", 0) == 2) { s1 = 2; }
else if (prefsDisplay.getInt("spinnerSelection", 0) == 3) { s1 = 3; }
else { s1 = 0; DP.BreakdownMonths = 0; }

精簡版

s1 = prefsDisplay.getInt("spinnerSelection", -1);
if (s1 != 0 && s1 != 1 && s1 != 2 && s1 != 3) {
    s1 = 0;
    DP.BreakdownMonths = 0;
}

原理

  • getInt(key, defaultValue) 若鍵不存在會回傳預設值(此處用 -1 做哨兵值)。
  • 再以單一條件檢查是否為合法值(0~3),非法則統一重置預設。
  • 同樣適用於 spinnerSelection1 等其他偏好設定。

此寫法減少重複呼叫 getInt(),提升可讀度與效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved